I';我从MySql获得一个非零id';执行INSERT IGNORE时的最后一个\u INSERT \u ID

I';我从MySql获得一个非零id';执行INSERT IGNORE时的最后一个\u INSERT \u ID,mysql,Mysql,我已经对一个连接进行了多次插入,最近的一次插入是insert IGNORE语句。在此之后,我调用LAST_INSERT_ID(),如果INSERT IGNORE悄无声息地失败,我希望它为零。但是,它所做的是返回最后一个成功插入的ID,即使该ID是由我最近的insert语句以外的语句插入的…我解决这个问题的方法是确保在检索到最后一个insert ID后,它在我的连接上被重置 我是通过以下方式检索最后一个\u INSERT\u ID来实现的: SELECT LAST_INSERT_ID(), LAS

我已经对一个连接进行了多次插入,最近的一次插入是insert IGNORE语句。在此之后,我调用LAST_INSERT_ID(),如果INSERT IGNORE悄无声息地失败,我希望它为零。但是,它所做的是返回最后一个成功插入的ID,即使该ID是由我最近的insert语句以外的语句插入的…

我解决这个问题的方法是确保在检索到最后一个insert ID后,它在我的连接上被重置

我是通过以下方式检索最后一个\u INSERT\u ID来实现的:

SELECT LAST_INSERT_ID(), LAST_INSERT_ID(0);
所以,我把ID拿回来,然后把它设为零。除非插入实际成功,否则对LAST_INSERT_ID的任何后续调用都将得到零值