Я пытаюсь создать условную INSERT в моей базе данных MySQL из скрипта PHP. Следующий синтаксис SQL работает в phpMyAdmin, но не в моем скрипте PHP:
INSERT INTO profiles (id, firstname)
SELECT "22","John" from profiles
WHERE NOT EXISTS (
SELECT * FROM li_profiles
WHERE li_p_firstname = "John"
)
(обратите внимание, что «id» является первичным ключом, «firstname» не является ключом или уникальным)
Что-то странное, что может быть частью проблемы, заключается в том, что когда я запускаю этот SQL в phpMyAdmin, пока он «работает» (то есть добавляется новая запись с идентификатором «22» и именем «Джон») получить следующее предупреждение: "# 1062 - Дублирующая запись '22' для ключа 1"
Но в таблице не было предыдущей записи с идентификатором 22. ?? !!
Что происходит?