繁体   English   中英

Mysql事务提交和回滚示例

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM