有两个表 books , books_log. 都有字段bname,要求当books表中bname的字段发生变化时 books_log中的bname也要同步改变。
写了个触发器报错,请高手指点。
DELIMITER $$
CREATE
TRIGGER `TRG_EDIT_BOOK` UPDATE
ON `books`
FOR EACH ROW
BEGIN
IF NEW.bname <> OLD.bname
THEN
update books_log set bname=new.bname where id=old.id;
END IF;
END$$
DELIMITER ;
错误码: 1064
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 'UPDATE
ON `books`
FOR EACH ROW
BEGIN
IF NEW.bname != OLD.bname
' at line 3Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
Total Time : 00:00:00:000
写了个触发器报错,请高手指点。
DELIMITER $$
CREATE
TRIGGER `TRG_EDIT_BOOK` UPDATE
ON `books`
FOR EACH ROW
BEGIN
IF NEW.bname <> OLD.bname
THEN
update books_log set bname=new.bname where id=old.id;
END IF;
END$$
DELIMITER ;
错误码: 1064
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 'UPDATE
ON `books`
FOR EACH ROW
BEGIN
IF NEW.bname != OLD.bname
' at line 3Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
Total Time : 00:00:00:000
解决方案 »
- mysql查表求助
- 求一个sql语句,谢谢
- Mysql问SQL语句
- 调用存储过程的命令CALL为什么在SQLyog Enterprise407和mysqlfront3.2中不被认呢?
- 求助?字段的字符编码怎么设置?
- 出现这样的错误是什么原因,服务已启动,用户名密码正确,全句见内Data source rejected establishment of connection, ......to this MySQL
- 各位大虾,那里有mysql的教材,我想学了!
- 为什么我建表的第一个字段不能延长长度?(肯定是简单间题,但我不会)
- 使用“帝国备份王”恢复数据时出现问题,请高人指教。
- 存储过程里,动态添加字段,变量不起作用,WHY?
- mysql 插入记录的问题?
- 表字段的类型设置
ON `books`
FOR EACH ROW
BEGIN
IF NEW.bname <> OLD.bname THEN
update books_log set bname=new.bname where id=old.id;
END IF;
END$$
DELIMITER ;
CREATE TRIGGER testref BEFORE INSERT ON test1
FOR EACH ROW BEGIN
INSERT INTO test2 SET a2 = NEW.a1;
DELETE FROM test3 WHERE a3 = NEW.a1;
UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
END
|
DELIMITER ;
CREATE TRIGGER `TRG_EDIT_BOOK` after UPDATE ON `books` FOR EACH ROW
BEGIN
IF NEW.bname <> OLD.bname THEN
update books_log set bname=new.bname where id=old.id;
END IF;
END$$
DELIMITER ;
CREATE TRIGGER `TRG_EDIT_BOOK` BEFORE UPDATE
ON `books`
FOR EACH ROW
BEGIN
IF NEW.bname <> OLD.bname THEN
update books_log set bname=new.bname where id=old.id;
END IF;
END$$
DELIMITER ;
MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html