MySQL触发器: ERROR 1064 (42000): You have an error in your SQL syntax

标签 mysql triggers

我正在尝试创建一个触发器来监视表上的更改,然后将这些更改插入到另一个表中,如下所示

CREATE TRIGGER userChangePasswd
BEFORE UPDATE ON originalTable
FOR EACH ROW
BEGIN
INSERT INTO logs (email,clear,name ) SELECT email,clear,name FROM  originalTable
END

mysql一直显示以下错误

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO logs (email,clear,name ) SELECT email,clear,name FROM ' originalTable at line 5

以下语句适用于具有 where 子句条件的文件

INSERT INTO logs (email,clear,name ) SELECT email,clear,name FROM  originalTable 

触发器内的插入语句有什么问题

最佳答案

CREATE TRIGGER `orgTbl_before_upd_tr` BEFORE UPDATE ON `orgTbl`
FOR EACH ROW
BEGIN
  INSERT INTO newTbl (field1, field2) VALUES (old.field1, old.field2);
END;

关于MySQL触发器: ERROR 1064 (42000): You have an error in your SQL syntax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1293957/

相关文章:

php - 无法使用 PHP 5.5 将数据添加到 webmatrix 3 中的 MySQL 5.7

sql-server - INSTEAD OF DELETE 触发器与 ON DELETE CASCADE FK 冲突

sql - 如何在不触发 UPDATE 触发器的情况下对 SQL Server 表进行 `UPDATE`

mysql - Gem 允许使用分片 mysql 数据库访问数据,同时保持 Activerecord 的使用

python - 模型中的额外 ID

mysql密码中的特殊字符

MySQL 触发器 : turn UPDATE into UPDATE and INSERT?

wpf - 当 XAML TextBlock 不包含数据时,如何让其折叠?

jquery触发悬停在 anchor 上

php - php中先序树遍历算法的问题