在mysql中没有重复的多次插入/更新

时间:2012-06-21 09:24:39

标签: mysql

我希望在我的表中只有两列同时插入很多值,如果这些值已经存在则必须更新..虽然可以复制1列但不能用于第二列..我可以很容易用以下查询来做..但问题是这里只能考虑一行......没有主键.. PLZ HELP

INSERT INTO `table` (value1, value2) 
SELECT 'stuff for value1', 'stuff for value2' FROM `table` 
WHERE NOT EXISTS (SELECT * FROM `table` 
                  WHERE value1='stuff for value1' AND value2='stuff for value2') 
LIMIT 1

1 个答案:

答案 0 :(得分:2)

试试这个 插入表名............. 在重复密钥更新集column1 = ......

替代方式::

步骤1:创建一个与table1

结构相同的temp_table

第2步:

    INsert into temp_Table 
   (SELECT * from table1 t1 left join table2 t2 on (t1.value1=t2.value1 and t1.value2=t2.value2)
    where t2.value1 is null and t2.value2 is null);

第3步:

  INsert into table Select * from temp_table