2012-06-21 59 views
0

我希望很多值可以同时插入我的只有2列的表中,如果这些值已经存在,那么它必须被更新。虽然可以重复1列,但不能第二列。我可以很容易地用下面的查询做到这一点。但问题是这里只有一排只能算是......有没有主键.. plz帮助在mysql中多重插入/更新而不重复

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 
+0

检查我的更新答案 –

回答

2

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

Alternat香港专业教育学院路::

第一步:创建的那个表1的相同结构的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); 

第三步:

INsert into table Select * from temp_table 
+0

正常,但它可能为多个领域..? – Jhanvi

+0

是的,这是可能的 –

+0

@Jhanvi:这个帮助吗? –

相关问题