问题是,如果值不存在,我需要在表中插入一行。FE
If('x' NOT EXIXTS in (select campoX from table) then insert into table (...) values (...) etc.
我能怎么做?在互联网上我找不到答案:(
我假设您的表名为tbl。
INSERT INTO tbl (campoX ) SELECT 'X' FROM DUAL WHERE NOT EXISTS( SELECT campoX from tbl WHERE campoX ='X' );
DUAL纯粹是为了方便那些要求所有SELECT语句都应该包含FROM以及可能包含其他子句的人们。MySQL可能会忽略这些子句。如果没有引用表,MySQL不需要FROM DUAL。
DUAL
如其他提到的那样,INSERT IGNORE如果您的campoX是唯一或主键字段,则可以在此处使用语句。
INSERT IGNORE