Mysql 5.0 LAST_INSERT_ID()在升级到5.6后有所不同
从MySQL 5.0迁移到5.6时,我注意到INSERT_LAST_ID()函数在触发器内部使用时的行为不同 我的简化情况是: 表A有一个(插入后)触发器:插入到表B(ID)中的值(最后一个插入ID()) 表B具有foreignkey:CONSTRAINT表_B外键(ID)引用了更新限制时删除级联上的表_A(ID) 此触发器foreignkey组合在迁移到5.6后在5.0下运行良好。这些触发器具有其他行为 现在,触发器中使用的函数LAST_INSERT_ID()似乎得到了一个0(零),第二次是Primarykey-1 我已经在网上搜索过了,但没有进一步的进展Mysql 5.0 LAST_INSERT_ID()在升级到5.6后有所不同,mysql,triggers,lastinsertid,Mysql,Triggers,Lastinsertid,从MySQL 5.0迁移到5.6时,我注意到INSERT_LAST_ID()函数在触发器内部使用时的行为不同 我的简化情况是: 表A有一个(插入后)触发器:插入到表B(ID)中的值(最后一个插入ID()) 表B具有foreignkey:CONSTRAINT表_B外键(ID)引用了更新限制时删除级联上的表_A(ID) 此触发器foreignkey组合在迁移到5.6后在5.0下运行良好。这些触发器具有其他行为 现在,触发器中使用的函数LAST_INSERT_ID()似乎得到了一个0(零),第二次是P
任何帮助都将不胜感激。没错,5.0行为不同于5.1或更高版本。该建议将对后触发器应用以下更改:
——插入到表中的值(最后一次插入的ID());
在表_B(ID)中插入值(新的.ID);
非常感谢,这就像一个符咒,尽管有点奇怪,最后一个\u INSERT\u ID函数的行为有所不同。@user3415259:是的,非常奇怪。我打开了一个bug报告。