如何在if语句中检查SQL State?

时间:2016-10-19 08:46:40

标签: mysql sql triggers

我试图基于sql状态在触发器中提交插入,这基于触发器中先前查询的成功。但是我收到了语法错误。 任何人都可以指出我在这里做错了什么。

SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO';
DELIMITER //
CREATE TRIGGER `insert_exp_register` AFTER INSERT ON `trnInvDtl` FOR EACH ROW begin
  insert into trninvdtl_exportregister(comp_code,
       inv_type,
       inv_no,
       item_srl_no) values(
       new.comp_code,
       new.inv_type,
       new.inv_no,
       new.item_srl_no);

        if (sqlstate='0000') then
            rollback;
        end if;
end//
DELIMITER ;
SET SQL_MODE=@OLDTMP_SQL_MODE;

这里是语法错误的错误消息。

[窗口标题] xxxx PC:错误

[内容] SQL错误(1064):您的SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在sqlstate =' 0000')附近使用正确的语法             回滚;         万一; 端'在第11行

[OK]

[页脚] 找到关于此错误的一些帮助

0 个答案:

没有答案