Я получаю следующую ошибку:
1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с "WHERE NOT EXISTS" (SELECT * FROM training2subjects WHERE trainingID = 3 AND subj "в строке 1
когда я обедаю этот запрос на mysql -
INSERT INTO training2subjects ( trainingID, subjectID )
VALUES ( 3, 5 )
WHERE NOT EXISTS (
SELECT *
FROM training2subjects
WHERE trainingID = 3
AND subjectID = 5
LIMIT 0,1
)
Когда я запускаю подзапрос, он отлично работает
SELECT *
FROM training2subjects
WHERE trainingID = 3
AND subjectID = 5
LIMIT 0,1
Я хочу вставить только в том случае, если одни и те же данные еще не существуют
Вам нужно использовать INSERT INTO - SELECT
:
INSERT INTO training2subjects ( trainingID, subjectID )
SELECT 3, 5
WHERE NOT EXISTS (SELECT *
FROM training2subjects
WHERE trainingID = 3 AND subjectID = 5);
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE NOT EXISTS (SELECT * FROM training2subjects ' at line 3