某表中已有该值时,不添加数据
表中有field1值为v1的记录时不插入
INSERT INTO table(field1, field2, ...fieldn)
SELECT 'v1', 'v2', ...'vn'
FROM DUAL
WHERE NOT EXISTS(SELECT 1 FROM table WHERE field1 = v1)
实例
INSERT INTO tableA(
//要插入的字段
id,
device_id,
data,
create_by,
create_date
) SELECT
//要插入的值,为空可以用null代替
value1,
value2,
value1,
value4,
value5
FROM DUAL
//dual是为了构建查询语句而存在的表
WHERE NOT EXISTS(SELECT 1 FROM tableA WHERE device_id = value2 )
//判断device_id相同的值是否存在,存在则不添加
//EXISTS: 判断子查询是否返回结果集,不要求知道返回什么