我使用REPLACE INTO
命令在MySQL表中插入/更新记录。然而,我想得到受REPLACE INTO
影响的行的ID。
我将lastInsertId()
与INSERT INTO
一起使用,但在这里它没有用处,因为如果我的记录已经存在,那么通过将lastInsertId()
与REPLACE INTO
一起使用,我会得到错误的ID。
那么,MySQL+php+PDO中是否有任何函数可以获取该id?
由于REPLACE INTO
先执行DELETE
,然后执行INSERT
,所以任何lastInsertId()
函数都会得到"错误"的id(错误如"不是您可能期望的")。
因此,您要么必须接受这一点,研究INSERT INTO ... ON DUPLICATE KEY UPDATE
,要么指定您试图实现的目标,这样我们就可以就如何继续提供进一步的建议。