mysql - mysql 中无重复的多次插入/更新

标签 mysql

我希望将许多值同时插入到只有 2 列的表中,如果这些值已经存在,则必须更新它。虽然 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

最佳答案

试试这个 插入表名............ 重复键更新设置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);

第三步:

  INsert into table Select * from temp_table 

关于mysql - mysql 中无重复的多次插入/更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11135201/

相关文章:

python - 使用 Google App Engine (Python) 将图像上传到 MYSQL

java - 使用 nosql(比如 mongodb)会提高开发效率吗?

mysql - 表锁定错误

mysql - 使用Mysql将表导入数据库时​​出现SQL语法错误

php - 如何在 codeigniter 3 中使用 PDO

mysql - 如何安装或更改 MySQL 以由任何网络用户使用函数 'load_file'?

php - 锂框架 MySQL 原始查询

php - 使用 Jquery Ajax 传递 Json 数据然后显示响应

带有 CURSOR 和 FETCH 的 MYSQL 变量

php - Mysql查询到平均时间