2012-01-17 106 views
-2

我在表中有超过1百万条记录。如果不存在mysql插入更新

user_id name_id 
    1  1 
    1  2 
    2  1 

我有这样的结构,我需要:

insert into (user_id,name_id) (1,2) 
  1. 如果记录存在=更新名_ID
  2. 如果记录doen't存在插入 USER_ID和名_ID

谁可以为它编写示例?它应该工作得很快。

+1

你有看看MySQL手册吗? – 2012-01-17 07:24:48

+0

我想问问你的建议,谁已经这样做了。 – 2012-01-17 07:26:51

+0

@RadchenkoViktor:你应该准备好。告诉我们你尝试失败了。 – 2012-01-17 07:30:39

回答

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

你需要一个独特的索引on duplicate key工作。

相关问题