MySQL语法错误中的CREATE TABLE

时间:2017-02-12 15:30:10

标签: mysql sql phpmyadmin wampserver

我正在尝试使用db将其与我的java项目链接 我正在使用wampsarver来创建数据库。 我该怎么做才能解决这个问题。

  

1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法   ')NOT NULL,mysql DOUBLE(20)NOT NULL,Phone INT(20)NOT   第9行的NULL AUTO_INCR'

Id

2 个答案:

答案 0 :(得分:3)

DOUBLE也要求精确度(我给了DOUBLE(20,2) - 根据需要更改它。)

另外,serial number列名称末尾有一个杂散空间。

CREATE TABLE `Laptop` (
`serial number` INT( 20 ) NOT NULL ,
`Device Model` VARCHAR( 20 ) NOT NULL ,
`Device Manufacturer` VARCHAR( 20 ) NOT NULL ,
`Device Color` VARCHAR( 20 ) NOT NULL ,
`Screen size` DOUBLE( 20,2) NOT NULL ,
`Phone` DOUBLE( 20 ,2) NOT NULL ,
`Id` INT( 20 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
UNIQUE (
`serial number` 
)
) 

此外,最好使用DECIMAL代替DOUBLE,因为双打不能完全表示,并且在进行比较时会产生问题。

答案 1 :(得分:1)

对于double,你必须在逗号之后添加另一个数字以获得精确度。此外,在name之后不允许空格。以下脚本正在运行

 CREATE TABLE `Laptop` (
 `serial number` INT( 20 ) NOT NULL ,
 `Device Model` VARCHAR( 20 ) NOT NULL ,
 `Device Manufacturer` VARCHAR( 20 ) NOT NULL ,
 `Device Color` VARCHAR( 20 ) NOT NULL ,
 `Screen size` DOUBLE( 20,4 ) NOT NULL ,
 `Phone` DOUBLE( 20,4 ) NOT NULL ,
 `Id` INT( 20 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  UNIQUE (
 `serial number` 
  )
  ) ENGINE = innodb