如果我使用带有 php 和 mysqli * 函数的存储过程执行插入查询_
,有没有办法检索自动增量 id 字段的值?
mysqli->insert_id
似乎不起作用。
问问题
6699 次
4 回答
8
您确定您执行的最后一个查询是 INSERT 吗?
mysqli->insert_id
似乎是正确的答案:
返回值
AUTO_INCREMENT
由上一个查询更新的字段的值。如果连接上没有先前的查询或查询没有更新AUTO_INCREMENT
值,则返回零。
于 2009-09-19T17:42:01.870 回答
1
于 2009-09-19T17:32:33.473 回答
1
您可以在插入后在存储过程中添加此语句:
SET @saved_id = LAST_INSERT_ID()
然后,在调用过程后执行此查询:
SELECT @saved_id
于 2009-09-19T18:49:27.163 回答
0
mysqli->insert_id
(其中mysqli
代表您的数据库连接)必须在插入后直接使用。如果您在尝试读取之前在同一连接上运行其他查询,insert_id
则会返回 0。
于 2014-01-07T10:20:49.953 回答