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.