获取mysql_insert_id() 时使用 ON DUPLICATE KEY UPDATE WITH PHP
2022-08-30 16:03:56
我已经找到了一些单独的mySQL答案,但我希望有人可以向我展示一种方法,以便在使用PHP处理插入/更新时获取mysql DB的最后插入或更新行的ID。
目前我有这样的东西,其中列3是唯一键,还有一个id列是自动增量的主键:
$query ="INSERT INTO TABLE (column1, column2, column3) VALUES (value1, value2, value3) ON DUPLICATE KEY UPDATE SET column1=value1, column2=value2, column3=value3";
mysql_query($query);
$my_id = mysql_insert_id();
$my_id 在 INSERT 上是正确的,但在更新行时不正确(在重复键更新时)。
我看过几个帖子,有人建议你使用类似的东西
INSERT INTO table (a) VALUES (0) ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id)
在调用 ON DUPLICATE 键时获取有效的 ID 值 - 但这会将该有效 ID 返回给 PHP 函数吗?mysql_insert_id()