kou*_*bin 1 php sql last-insert-id
如果我使用这个SQL:
UPDATE formulare SET EV_id=59, EV_status=5 WHERE EV_id=57 AND ID_uziv=12;SELECT LAST_INSERT_ID();
Run Code Online (Sandbox Code Playgroud)
我会得到0最后一个插入ID.我正在使用PHP mysqli_insert_id,这里说:
The mysqli_insert_id() function returns the ID generated by a query
on a table with a column having the AUTO_INCREMENT attribute.
If the last query wasn't an INSERT or UPDATE statement
or if the modified table does not have a column with the AUTO_INCREMENT attribute,
this function will return zero.
Run Code Online (Sandbox Code Playgroud)
我的表formualre有auto increment列,所以我不知道问题是什么
LAST_INSERT_ID()如果没有创建新的自动增量值,则无法工作.
解决方案是这样的:
UPDATE formulare SET EV_id=LAST_INSERT_ID(59), EV_status=5 WHERE EV_id=57 AND ID_uziv=12;SELECT LAST_INSERT_ID();
Run Code Online (Sandbox Code Playgroud)
注意:我猜,这EV_id是auto_increment主键.
否则你应该做一个像这样的查询:
UPDATE formulare SET key_col = LAST_INSERT_ID(key_col), EV_id=59, EV_status=5 WHERE EV_id=57 AND ID_uziv=12;SELECT LAST_INSERT_ID();
Run Code Online (Sandbox Code Playgroud)