我的代码中一直出错 :"您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在#s; $ sql =" CREATE TABLE Kodu(' $ ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, '在第1行"
我甚至在SQLfiddle中尝试过这段代码,它给了我同样的错误。有人可以帮我发现错误吗?感谢
$sql = "CREATE TABLE Kodu(
ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
Dateoforder DATE NOT NULL,
Contract VARCHAR(10),
Order INT NOT NULL,
Office VARCHAR(30) NOT NULL,
Ship VARCHAR(100) NOT NULL
)";
答案 0 :(得分:1)
试试这个:
CREATE TABLE Kodu(
ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
Dateoforder DATE NOT NULL,
Contract VARCHAR(10),
OrderNumber INT NOT NULL,
Office VARCHAR(30) NOT NULL,
Ship VARCHAR(100) NOT NULL
)
您需要使用其他名称更改Order
,因为订单是SQL中受保护的单词
或者像这样包装引号或反引号(如果启用了ANSI模式):
CREATE TABLE Kodu(
ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
Dateoforder DATE NOT NULL,
Contract VARCHAR(10),
"Order" INT NOT NULL,
Office VARCHAR(30) NOT NULL,
Ship VARCHAR(100) NOT NULL
)
答案 1 :(得分:1)
问题是关键字order
。
如果启用了ansi模式,您必须使用后退标记或使用引号括起来逃避工作。
请阅读更多How do I escape reserved words used as column names? MySQL/Create Table
更好的建议是使用另一个单词而不是转义。