mysql - 如果所有行都不同,则插入 sql

标签 mysql sql sql-insert

我有一个包含数百个查询的 SQL 脚本。 我需要执行 INSERT INTO 查询,但前提是不存在具有所有相同字段的行。

有没有一种简单的方法可以做到这一点?我不想在每个查询上添加 WHERE NOT EXISTS,这会花费太多时间...

最佳答案

MERGE INTO Table_Name Tar
USING Table_Name src
ON Tar.Field1=src.Field1 AND Tar.Field2=src.Field2 AND Tar.Field3=src.Field3 
WHEN NOT MATCHED 
THEN 
INSERT (...) VALUES(src..)
GO

这是粗略的代码。试试这个。

关于mysql - 如果所有行都不同,则插入 sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49488871/

相关文章:

mysql - SQL : error with an inner join, 可能很简单

php - 将时间插入数据库

php - 怎么注册成功,把表的一栏内容复制到另一栏?

MySQLIntegrityConstraintViolationException : Column 'adno' in where clause is ambiguous

php - MySQL 自内连接和搜索

通过Bash命令插入时Mysql不工作,但手动插入时工作

C++ SQLExecDirect INSERT 不起作用

mysql - Symfony3 : How to do a massive import from a CSV file as fast as possible?

mysql - SQL - 将多对多桥接表转换为一对一表

mysql - 计算发送/接收对的不同集合