我正在使用 REPLACE INTO 查询插入到表中,但是在使用 mysql_query() 函数执行查询之后,如果我使用 last_insert_id() 它只给我 0 值。
为什么会这样?以及如何克服这种行为。
:潘卡伊
我正在使用 REPLACE INTO 查询插入到表中,但是在使用 mysql_query() 函数执行查询之后,如果我使用 last_insert_id() 它只给我 0 值。
为什么会这样?以及如何克服这种行为。
:潘卡伊
您可以尝试INSERT INTO ... ON DUPLICATE KEY UPDATE
改用。它完成与 相同的事情REPLACE INTO
,但在单个服务器端操作中。REPLACE INTO
最终会导致两种操作:删除旧的,插入新的。
但无论查询类型如何,您都必须确保表的主键是一个auto_increment
字段。last_insert_id() 否则无法正常工作。
REPLACE INTO
似乎不会影响可以通过last_insert_id()
.
从以下情况来看,这似乎是预期的行为: