我有一个带有ID(auto_inc),name,...和customer_code字段的customers表。此表还有一个“before”触发器,从另一个表中选择一个客户代码,并在此表中插入新记录之前设置customer_code字段。效果很好。
问题是,当我检索lastInsertID()时,它总是返回1!
我正在使用PDO和PHP。
感谢您的帮助!
答案 0 :(得分:1)
您使用的是哪个版本的MySQL?从5.0.12开始,触发器不应覆盖最后一个插入ID。但在该版本之前,触发器可能会更改值,后续查询会看到错误的值。
请参阅http://dev.mysql.com/doc/refman/5.0/en/stored-routines-last-insert-id.html