[英]Mysql transaction commit and rollback example
以下mysql查询给出以下错误。
查询 -
set @rollback = 0;
start transaction;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET @rollback = 1;
INSERT INTO `tablea` (`date`) VALUES (NOW());
INSERT INTO `tableb` (`date`) VALUES (NOW());
INSERT INTO `tablec` (`date`) VALUES (NOW());
IF @rollback THEN
ROLLBACK;
ELSE
COMMIT;
END IF;
错误:
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 'DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET @rollback = 1' at line 1
DECLARE只能在BEGIN和END语句之间使用,该语句只能出现在存储过程,函数,触发器或事件定义中。
请参阅: http : //dev.mysql.com/doc/refman/5.7/en/sql-syntax-compound-statements.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.