mysql插入如果不存在则更新

时间:2012-01-17 07:23:05

标签: mysql

我在表格中有超过100万条记录。

   user_id name_id
    1       1
    1       2 
    2       1

我有这个结构,我需要:

insert into (user_id,name_id) (1,2)
  1. 如果记录存在= update name_id
  2. 如果记录不存在,请插入 user_id和name_id
  3. 谁能为它写出榜样?它应该很快。

1 个答案:

答案 0 :(得分:4)

insert into users (user_id, name_id)
values (1, 2)
on duplicate key update
  name_id = values(name_id);

您需要on duplicate key的唯一索引才能正常工作。