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)
posted @ 2022-07-31 23:42  又一岁荣枯  阅读(315)  评论(0编辑  收藏  举报