0

我已经用连接做了几次插入,我最近的插入是一个 INSERT IGNORE 语句。在此之后,我调用 LAST_INSERT_ID(),如果 INSERT IGNORE 静默失败,则期望它为零。但是,它的作用是返回最后成功插入的 ID,即使该 ID 是由我最近的插入语句以外的语句插入的...

4

1 回答 1

0

我解决这个问题的方法是确保 LAST_INSERT_ID 在我检索到它后在我的连接上被重置。

我通过这种方式检索 LAST_INSERT_ID 来做到这一点:

SELECT LAST_INSERT_ID(), LAST_INSERT_ID(0);

因此,我取回了 ID,然后将其设置为零。对 LAST_INSERT_ID 的任何后续调用都将获得零值,除非插入实际成功。

于 2013-10-29T14:39:22.807 回答