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.