2017-05-22 32 views
-1

SQL命令:Mysql的觸發更新後更新錯誤#1064

CREATE TRIGGER seq_uci_to_procedimento 
AFTER UPDATE ON seq_uci 
FOR EACH ROW 
BEGIN 
    UPDATE TABLE `pre_procedimento` 
    SET `pre_num_uci` = (CONCAT_WS(NEW.ano, NEW.id)) 
    WHERE 
    `pre_id` = (NEW.seq_id_procedimento) 
END 

MySQL的帖子:文檔

錯誤翻譯:您在您的SQL語法附近 'TABLE pre_procedimento' 有一個錯誤

1064 - 你有附近的「表在您的SQL語法錯誤

SET `pre_num_uci` = (CONCAT_WS(NEW.ano, NEW.id)) 

「第5行

+0

請1064翻譯錯誤英格爾?並確保你問英格爾你的問題 –

+0

你必須syntaxe你的SQL錯誤: 'TABLE SET pre_procedimento'Spre_num_uci' =(CONCAT_WS(NEW.ano,NEW.id))' 在第5行 – user1149440

+0

我嘗試過: DELIMITER //創建TRIGGER ' seq_uci_to_procedimento' UPDATE ON seq_uci' ' 之後FOR EACH ROW BEGIN UPDATE SET TABLE'pre_procedimento' pre_num_uci = CONCAT_WS(NEW.ano,NEW.id)WHERE pre_id = NEW.seq_id_procedimento DELIMITER // END; – user1149440

回答

0

你不應該從你的聲明中刪除 「TABLE」:

CREATE TRIGGER seq_uci_to_procedimento 
AFTER UPDATE ON seq_uci 
FOR EACH ROW 
BEGIN 
    UPDATE `pre_procedimento` 
    SET `pre_num_uci` = (CONCAT_WS(NEW.ano, NEW.id)) 
    WHERE 
    `pre_id` = (NEW.seq_id_procedimento) 
END 

檢查here for how to write UPDATE聲明

1
delimiter $$ 
CREATE TRIGGER seq_uci_to_procedimento AFTER UPDATE ON seq_uci FOR EACH ROW BEGIN 
UPDATE pre_procedimento 
SET pre_num_uci = (CONCAT_WS(NEW.ano, NEW.id)) 
WHERE pre_id = (NEW.seq_id_procedimento) ; 
END $$ 
delimiter ;