更新后的Mysql触发器更新错误#1064

时间:2017-05-22 14:35:01

标签: mysql

Comando SQL:

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

Mensagens做MySQL:Documentação

  

错误翻译:您在'TABLE pre_procedimento'

附近的sql语法中出错

1064 - Vocêtemum erro de sintaxe no seuSQLpróximoa'TABLEpre_procedimento

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

'na linha 5

2 个答案:

答案 0 :(得分: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 ;

答案 1 :(得分: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语句