2016-12-14 554 views
-2

我正在嘗試編寫一個觸發器來檢查表A是否存在任何插入或更新記錄,並將使用新記錄更新我的表B但出現錯誤:錯誤代碼:1064.您的SQL語法有錯誤;檢查與您的MySQL服務器版本相對應的手冊以使用正確的語法

錯誤代碼:1064.您的SQL語法錯誤;檢查對應於你的MySQL服務器版本的手冊正確的語法使用

下面是我的表:

create table A(count int, trigger_name varchar(25)); 
create table B(trigger_name varchar(25), time_created Timestamp); 

這裏是我的觸發器:

create trigger record_after_insert after insert on A for each row 
Begin 
insert into B values (NEW.trigger_name, sysdate()); 
End; 

我使用MySQL版本5.7.13。提前致謝。

+0

那麼,你檢查手冊? – dfundako

回答

2
DELIMITER $$ 
CREATE TRIGGER `record_after_insert` AFTER INSERT ON `A` 
FOR EACH ROW 
BEGIN 
insert into B values (NEW.trigger_name, sysdate()); 
END $$ 
DELIMITER ; 
+0

我嘗試了你提到的解決方案,但那也不算什麼,現在我得到了超級權限錯誤。我嘗試設置SET GLOBAL log_bin_trust_function_creators = 1;但這也是我無法運行,因爲它說我沒有超級特權。 –

+0

我正在嘗試上面的mysql工作臺 –

+0

您的MySQL帳戶需要SUPER權限。請參閱文檔:http://dev.mysql.com/doc/refman/5.7/en/create-trigger.html – user3606329

0

我沒有在授予特權後能夠運行觸發器語句的數據庫運行觸發器的權限。

相關問題