mysql 带条件的添加语句
sql格式
字段1和字段2不可重复
INSERT INTO 表1 (字段1,字段2,字段3) SELECT 值1,值2,值3 FROM DUAL WHERE NOT EXISTS (SELECT 任一字段 FROM 表1 WHERE 字段1 = 值1 AND 字段2 = 值2 )
sq讲解
普通的insert语句
insert into 表名 (字段1,字段2,字段3) values(值1,值2,值3)
等效于
INSERT INTO 表名 (字段1,字段2,字段3) SELECT 值1,值2,值3 FROM DUAL
select后面就是insert into 语句中的values后面的值;
DUAL(mysql中的关键字)是为了方便那些要求所有SELECT语句都应该具有FROM和其他子句的人
其中的 DUAL 是一个临时表
示例:
INSERT INTO blogs(date, title, link) select %s,%s,%s
from DUAL where not exists (select * from blogs where link = %s)