MySQL LIMIT для оператора DELETE

Я составил тестовую таблицу для обнаруженной недавно ошибки. Он включает использование 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.

Итак, мой вопрос: что я сделал неправильно в отношении первый оператор, генерирующий эту ошибку?

49
задан Brian Tompsett - 汤莱恩 30 July 2015 в 08:43
поделиться