Ich nehme an, Ihre Tabelle heißt tbl.
INSERT INTO tbl (campoX )
SELECT 'X' FROM DUAL
WHERE NOT EXISTS(
SELECT campoX from tbl
WHERE campoX ='X'
);
DUAL
dient lediglich der Bequemlichkeit von Leuten, die verlangen, dass alle SELECT-Anweisungen FROM und möglicherweise andere Klauseln haben sollten. MySQL kann die Klauseln ignorieren. MySQL benötigt FROM DUAL nicht, wenn keine Tabellen referenziert werden.
Wie einige andere bereits erwähnt haben, könnten Sie INSERT IGNORE
verwenden Anweisung hier, WENN Ihr campoX ein eindeutiges oder primäres Schlüsselfeld ist.