Zakładam, że twój stół nazywa się tbl.
INSERT INTO tbl (campoX )
SELECT 'X' FROM DUAL
WHERE NOT EXISTS(
SELECT campoX from tbl
WHERE campoX ='X'
);
DUAL służy wyłącznie wygodzie osób, które wymagają, aby wszystkie instrukcje SELECT zawierały klauzule FROM i ewentualnie inne klauzule. MySQL może ignorować klauzule. MySQL nie wymaga FROM DUAL, jeśli nie ma odniesienia do żadnych tabel.
Jak niektórzy wspomnieli, możesz użyć INSERT IGNORE oświadczenie tutaj JEŚLI twój campoX jest polem unigue lub kluczem podstawowym.