避免mysql中的每一行

时间:2014-03-10 21:24:03

标签: php mysql

有没有人知道在mysql查询中是否有办法没有FOR EACH ROW语法?

也许是一种解决方法或什么?

我需要使用after insert触发器,但应用程序会多次插入作为插入的一部分。

因此,触发器以复合方式将数据视为每个插入的一部分。

1 个答案:

答案 0 :(得分:0)

FOR EACH ROW触发器定义中需要AFTER INSERT语法。 MySQL支持"行级"仅触发。 MySQL不支持"语句级别" DML操作的触发器。这是设计的。


有解决方法吗?

不,没有解决方法。对于插入的每一行,都会触发AFTER INSERT FOR EACH ROW触发器。是否有十几个单独的INSERT语句每个插入一行,或者是否有一个插入十几行的INSERT语句并不重要。触发器将针对每一行触发。

在触发器中,您可以对此进行比较或检查,然后您可以有条件地分支触发器内的部分代码。但是对于插入的每一行,没有办法绕过AFTER INSERT触发器的触发。