Ik neem aan dat je tafel tbl heet.
INSERT INTO tbl (campoX )
SELECT 'X' FROM DUAL
WHERE NOT EXISTS(
SELECT campoX from tbl
WHERE campoX ='X'
);
DUAL
is puur voor het gemak van mensen die eisen dat alle SELECT-instructies FROM en mogelijk andere clausules moeten hebben. MySQL kan de clausules negeren. MySQL vereist geen FROM DUAL als er niet naar tabellen wordt verwezen.
Zoals sommigen al zeiden, zou je INSERT IGNORE
. kunnen gebruiken verklaring hier INDIEN uw campoX een uniek of primair sleutelveld is.