我在phpmyadmin

时间:2016-11-21 17:17:01

标签: sql database mysql-error-1064

我正在尝试使用以下

在phpmyadmin中创建一个表
SQL : 

CREATE TABLE `umOrder`.`Bill` (
    `Id` INT(5) NOT NULL AUTO_INCREMENT ,
    `userID` VARCHAR(255) NOT NULL ,
    `product` VARCHAR(255) NOT NULL ,
    `quantity` INT(3) NOT NULL ,
    `price` DOUBLE(5) NOT NULL , 
    `date` VARCHAR(255) NOT NULL ,
    PRIMARY KEY (`Id`(5))
  ) ENGINE = MEMORY;

但不断收到此错误:

1064 - 您的SQL语法出错;检查与您的MariaDB服务器版本对应的手册,以便在')附近使用正确的语法.NO NULL,date VARCHAR(255)NOT NULL,PRIMARY KEY(Id(5)))ENGINE ='在第1行

我真的不明白错误是什么意思?任何的想法 ?

3 个答案:

答案 0 :(得分:2)

key(id(5))是可疑的。但是你还有另一个错误:double没有长度参数。

以下内容应该有效:

CREATE TABLE `Bill` (
    `Id` INT(5) NOT NULL AUTO_INCREMENT ,
    `userID` VARCHAR(255) NOT NULL ,
    `product` VARCHAR(255) NOT NULL ,
    `quantity` INT(3) NOT NULL ,
    `price` DOUBLE NOT NULL , 
    `date` VARCHAR(255) NOT NULL ,
    PRIMARY KEY (`Id`)
  ) ENGINE = MEMORY;

In CSS Flexbox, why are there no "justify-items" and "justify-self" properties?是一个SQL小提琴。

注意:我认为在数字类型之后放置长度参数是有帮助的(decimal / numeric除外)。您可能需要考虑删除所有这些内容。

答案 1 :(得分:1)

您需要为双精度分配小数:

CREATE TABLE `umOrder`.`Bill` (
    `Id` INT (5) NOT NULL AUTO_INCREMENT,
    `userID` VARCHAR (255) NOT NULL,
    `product` VARCHAR (255) NOT NULL,
    `quantity` INT (3) NOT NULL,
    `price` DOUBLE (5,2) NOT NULL,
    `date` VARCHAR (255) NOT NULL,
    PRIMARY KEY (`Id`)
) ENGINE = MEMORY;

答案 2 :(得分:0)

“ double”不需要长度参数,就像上面的Gordon Linoff所说的那样。

我遇到了几乎完全相同的问题。

然后我摆脱了两倍的长度,现在一切都很好。