2016-11-21 24 views
0

我試圖在phpMyAdmin創建一個表具有以下我一直在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錯誤:

1064 - 你在你的SQL語法錯誤; NOT NULL,date VARCHAR(255)NOT NULL,PRIMARY KEY(Id(5)))ENGINE ='在第1行

我在使用附近的語法時檢查與您的MariaDB服務器版本對應的手冊不明白錯誤是什麼意思?任何想法 ?

回答

1

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; 

Here是SQL小提琴。

注意:我認爲將長度參數放在數字類型之後(decimal/numeric除外)是沒有用的。您可能需要考慮將其全部刪除。

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;