Может ли MySQL INSERT Query работать не по порядку? - PullRequest
0 голосов
/ 19 сентября 2011

Я пытаюсь запустить:

INSERT INTO orders ('id','datetime','server','price','comment','addons','table_number','Omelet','Pancakes','Crepes','Salad','Steak_Sandwich','Chicken_Quesadilla','BLT','Prime_Rib','Pineapple_Upside_Down_Cake') VALUES ('','18/9/11 6:49:03PM','admin','0', 'N/A','None','0','1','2','3','4','5','6','7','8','9')

, а phpmyadmin columheaders выглядит как:

    id  datetime    server  price   comment addons  table_number    Omelet  Steak_Sandwich  Chicken_Quesadilla  BLT Salad   Prime_Rib   Crepes  Pancakes    Pineapple_Upside_Down_Cake

и возвращает:

1064 - у вас естьошибка в вашем синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с «id», «datetime», «server», «price», «comment», «addons», «table_number», «Omelet»,'Pan' в строке 1

Могу ли я сделать это не по порядку, как у меня, и если да, то может ли кто-нибудь заметить мою ошибку Заранее спасибо

1 Ответ

3 голосов
/ 19 сентября 2011

Пока id является именем столбца - вам необходимо удалить одинарные кавычки и заменить их обратными чертами

INSERT INTO orders (`id`, `datetime`, ...

Также вы можете удалить обратные пометки и указать id как есть, ноэто может вызвать проблему, если имя вашего столбца совпадает с именем одного из ключевых слов mysql, например from

UPD: как кто-то указал в комментариях (извините, я не помню вашего имени икомментарий уже удален) - если id является полем автоинкремента, то вы можете вообще его не указывать (если так - не забудьте также удалить его значение (пустую строку) из списка значений)

...