我正试图跑:
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服务器版本,以便使用正确的语法 近 '' 身份证”, '日期时间', '服务器', '价格', '评论', '插件', 'table_number', '煎鸡蛋', '潘' 在第1行
我可以像我一样无序地执行此操作,如果是这样,任何人都可以发现我的错误 提前致谢
答案 0 :(得分:3)
只要id
是列名称 - 您需要删除单引号并用反引号替换它们
INSERT INTO orders (`id`, `datetime`, ...
此外,您也可以删除反引号,并按原样指定id
,但如果您的列名与mysql的某个关键字同名,例如from
UPD:正如有人在评论中指出的那样(抱歉,我不记得你的名字并且评论已被删除) - 如果id
是自动增量字段,那么你可以完全避免指定它(如果是这样 - 不要忘记从值列表中删除它的值(空字符串)