mysql语法:
INSERT INTO tableName(column1, column2, column3...) SELECT value1,value2,value3...FROM dual WHERE NOT EXSIT (SELECT `column1`, column2...FROM tableName WHERE column1= 'value')
举例:在表格中插入name为市场部,companyId为3的数据,并且不依赖主键避免重复插入
例如1: 如果直接使用insert插入会可以无限插入
INSERT INTO department(`id`, `name`, `companyId`, `buildDate`, `number`) VALUES ('15', '市场部', '3', NOW(),'18')
多次执行结果:
插入重复数据:
解决方法:在插入之前查询是否存在该信息的数据,如果存在不插入返回0.如果不存在即可插入返回1
执行第一次插入成功:
执行第二次插入失败:
这样就可以避免重复插入数据了!
引用:MySQL: Insert record if not exists in table - Stack Overflow