Я составил тестовую таблицу для обнаруженной недавно ошибки. Он включает использование LIMIT при попытке удалить одну запись из таблицы MySQL.
Я говорю об ошибке: « У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL. для правильного синтаксиса, который нужно использовать рядом с 'LIMIT 1' в строке 1 "
Сложенная мной таблица называется test ; в нем 3 столбца: id , имя и создано . Я заполнил таблицу несколькими записями, а затем попытался удалить одну. Ниже приведен оператор, который я использовал для этого.
DELETE t FROM test t WHERE t.name = 'foo' LIMIT 1
Без использования LIMIT 1 оператор выполняется нормально, но, конечно, я не стал бы Я не использовал LIMIT, если в этом не было необходимости.
Я полностью осознаю, что могу использовать другой оператор для успешного выполнения этого DELETE. Смотри ниже:
DELETE FROM test WHERE name = 'foo' LIMIT 1
Однако мой вопрос сосредоточен на том, почему первый оператор не работает с LIMIT.
Итак, мой вопрос: что я сделал неправильно в отношении первый оператор, генерирующий эту ошибку?