mysql触发器问题

上周,我的朋友正在修改数据库并创建了三个触发器。

第一个触发器称为 t_afterinsert_on_tab1 它的作用是每次向tab1 表添加一条新记录时,自动向tab2 表添加一条记录。
具体操作是,如果新插入的tab1 记录的tab1 _id不为空,则向tab2 表中插入一条新记录,tab2 _id的值与tab1 _id相同。

第二个触发器称为 t_afterdelete_on_tab1 其作用是删除tab1 表中的记录后,自动删除tab2 表中对应的记录。
操作是从tab2 表中删除tab2 _id等于被删除的tab1 记录的tab1 _id的记录。

第三个触发器称为 t_afterupdate_on_a。
其功能是在修改A表中的年龄字段后,自动更新B表中ID对应的年龄字段。
操作是更新B表中ID等于A表中修改的ID和新的年龄值的记录的年龄字段。

2 02 3 年,我觉得这些触发器还是蛮有用的,可以保证数据的一致性。
但如果触发器写错,可能会导致数据丢失,所以要小心。
这取决于你,我不确定这部分。
另外我刚刚想到的一点是,触发器的性能问题,如果表很大的话,触发器会影响性能。
没问题。

MySQL 触发器报 “You have an error in your SQL syntax” 错误,如何解决?

是的,这就是问题所在。
触发器语法是否错误?
首先检查语法结构、DELIMITER开关、CREATE TRIGGER关键字、触发时间、相关表名和FOREACHROW子句。

条件语句的格式也必须正确。
IF 和 THEN 应分行书写,不留空格。
对条件表达式使用英文符号,对字符串值使用单引号。

分隔符也必须正确。
使用DELIMITER暂时更改它,然后在定义触发器后恢复默认分隔符。

表名和字段名必须使用相同的大小写。
一些 MySQL 系统区分大小写。

如果出错了,简化一下逻辑,一步步添加代码,找出错误在哪里。

最后,BEGIN 和 END 应该配对,并且内部语句应该以分号结束。
不要使用动态 SQL 或未经授权的表操作。

确保触发器已成功创建。
为此,请使用 SHOW TRIGGERS 命令。
按照以下步骤操作,问题就会得到解决。
首先,你自己看看。

mysql创建触发器的语法

这是一个问题:触发器不能引用同一个表中的其他触发器。