无法更新存储的函数/触发器中的表'tbl',因为它已被调用此存储函数/触发器的语句使用

时间:2012-10-25 15:09:49

标签: mysql sql mysql-error-1442

 INSERT INTO `category_sport` (
`id` ,
`category_id` ,
`sport_id` ,
`ordering`
)
VALUES (
NULL , '1', '1', ''
)

我想要做的是手动添加几行到表中以进行测试。但是当我尝试添加它时,会给我以下错误

#1442 - 无法更新存储的函数/触发器中的表'tbl',因为它已被调用此存储函数/触发器的语句使用。

表格结构

table structure

触发

CREATE TRIGGER `update_category_sport_order` AFTER INSERT ON `category_sport`
FOR EACH
ROW UPDATE `category_sport` SET `ordering` = NEW.id WHERE `id` = NEW.id;

如何添加数据?

2 个答案:

答案 0 :(得分:0)

尝试用scope_identity()

替换NEW.id

答案 1 :(得分:0)

必须手动编写PHP代码才能解决此问题。

http://forums.mysql.com/read.php?99,122354,240978#msg-240978