好的,所以我认为这应该是某种简单的基本事实,我似乎无法为我的生活找到它。
这是代码:
$sql="
CREATE TABLE Customer
(
CustomerID INT (2) NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName CHAR(15) NOT NULL,
SecondName CHAR(15) NOT NULL,
StreetAdd CHAR (255) NOT NULL,
City CHAR (30) NOT NULL,
States CHAR (3) NOT NULL,
ZIP INT (4) NOT NULL,
Credit INT(4),
Balance DOUBLE(20)
)
";
错误是:
您的SQL语法有错误;查看与>您的MySQL服务器版本对应的手册,以便在第11行附近使用正确的语法'))'
这很简单吧?我的意思是它应该很简单?我的完整代码中有另一个表有类似的错误,然后我有第三个工作正常。我注意到他们之间没有任何区别。
我已经弄乱了大约2个小时的语法,我无法弄明白。
答案 0 :(得分:2)
在MySQL中,当创建浮动和加倍时,您需要指定小数点后存储的数量如果您定义存储的长度。 Source
要么定义两个数字,要么根本不定义长度。
所以,只需添加第二个数字,例如我的例子:
CREATE TABLE Customer
(
CustomerID INT (2) NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName CHAR(15) NOT NULL,
SecondName CHAR(15) NOT NULL,
StreetAdd CHAR (255) NOT NULL,
City CHAR (30) NOT NULL,
States CHAR (3) NOT NULL,
ZIP INT (4) NOT NULL,
Credit INT(4),
Balance DOUBLE(20,2)
)
或完全删除长度参数
CREATE TABLE Customer
(
CustomerID INT (2) NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName CHAR(15) NOT NULL,
SecondName CHAR(15) NOT NULL,
StreetAdd CHAR (255) NOT NULL,
City CHAR (30) NOT NULL,
States CHAR (3) NOT NULL,
ZIP INT (4) NOT NULL,
Credit INT(4),
Balance DOUBLE
)
答案 1 :(得分:0)
应该是:Double不应包含20
CREATE TABLE Customer
(
CustomerID INT (2) NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName CHAR(15) NOT NULL,
SecondName CHAR(15) NOT NULL,
StreetAdd CHAR (255) NOT NULL,
City CHAR (30) NOT NULL,
States CHAR (3) NOT NULL,
ZIP INT (4) NOT NULL,
Credit INT(4),
Balance DOUBLE
)