2016-11-21 4 views
0

Ich versuche, eine Tabelle in phpMyAdmin mit den folgendenIch erhalte 1064 Fehler in 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; 

Aber halten zu erstellen, um diese Störung zu erhalten:

1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; Sie in die Bedienungsanleitung zu Ihrer MariaDB Server-Version für die richtige Syntax entspricht in der Nähe zu verwenden ') NOT NULL, date VARCHAR (255) NOT NULL, PRIMARY KEY (Id (5))) ENGINE =' at line 1

I verstehe nicht wirklich, was der Fehler bedeutet? irgendeine Idee ?

Antwort

1

Die key(id(5)) ist verdächtig. Aber Sie haben auch einen anderen Fehler: double dauert kein Länge Argument.

sollten folgende Arbeiten:

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 eine SQL Fiddle ist.

Hinweis: Ich glaube nicht, ist es hilfreich, Länge Argumente nach numerischen Typen zu setzen (außer decimal/numeric). Sie könnten in Erwägung ziehen, alle zu entfernen.

1

Sie werden die Dezimalzahl für die Doppel zuweisen möchten:

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; 
Verwandte Themen