1

我正在使用 REPLACE INTO 查询插入到表中,但是在使用 mysql_query() 函数执行查询之后,如果我使用 last_insert_id() 它只给我 0 值。

为什么会这样?以及如何克服这种行为。

:潘卡伊

4

2 回答 2

4

您可以尝试INSERT INTO ... ON DUPLICATE KEY UPDATE改用。它完成与 相同的事情REPLACE INTO,但在单个服务器端操作中。REPLACE INTO最终会导致两种操作:删除旧的,插入新的。

但无论查询类型如何,您都必须确保表的主键是一个auto_increment字段。last_insert_id() 否则无法正常工作。

于 2010-04-15T14:10:21.220 回答
3

REPLACE INTO似乎不会影响可以通过last_insert_id().

从以下情况来看,这似乎是预期的行为:

于 2010-04-15T10:49:57.487 回答