如果由REPLACE INTO插入,则获取插入的id

时间:2015-06-21 07:03:53

标签: php mysql

我使用REPLACE INTO更新mod_id是唯一/主键的行。我想知道mysql_inserted_id()是否已插入。

我试过了:

$query_2 = $DB->query('REPLACE INTO mods (mod_id, group_id, css) VALUES (0, 4585, "css string")');
$inserted_id = mysql_insert_id();

但即使插入发生,我仍然会$inserted_id获得0

1 个答案:

答案 0 :(得分:1)

我认为,最好使用INSERT... ON DUPLICATE KEY UPDATE。原因是REPLACE总是可选地删除旧行,然后插入新行。 INSERT ... ON DUPLICATE KEY UPDATE时,尝试尽可能更新现有行(基于主键或唯一键)。你可以last_insert_id()