我正在使用REPLACE INTO查询插入到表中,但是在使用mysql_query()函数执行查询后,如果我使用last_insert_id(),它只给我0值。
为什么会发生这种情况?我怎样才能克服这种行为。
:的Pankaj
答案 0 :(得分:4)
您可以尝试使用INSERT INTO ... ON DUPLICATE KEY UPDATE
代替。它完成与REPLACE INTO
相同的操作,但是在单个服务器端操作中。 REPLACE INTO
最终会导致两个操作:删除旧操作,插入新操作。
但无论查询类型如何,您都必须确保表的主键是auto_increment
字段。 last_insert_id()不能正常工作。
答案 1 :(得分:3)
REPLACE INTO
似乎不会影响通过last_insert_id()
获得的价值。
这似乎是预期的行为,从此判断: