2017-02-25 12 views
1

Ich versuche, eine Tabelle in meiner Datenbank zu erstellen. Dies ist der FehlerFehler in Sql beim Erstellen der Tabelle

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ') NOT NULL , `ctc` DOUBLE(5) NOT NULL , `ref` VARCHAR(50) NOT NULL , `date` D' at line 1 

Meine Frage:

CREATE TABLE `job`.`form_details` ( 
    `email_id` VARCHAR(50) NOT NULL , 
    `name` VARCHAR(50) NOT NULL , 
    `number` VARCHAR(14) NOT NULL , 
    `city` VARCHAR(50) NOT NULL , 
    `skill` VARCHAR(50) NOT NULL , 
    `qualification` VARCHAR(50) NOT NULL , 
    `position` VARCHAR(50) NOT NULL , 
    `exp` DOUBLE(5) NOT NULL , 
    `ctc` DOUBLE(5) NOT NULL , 
    `ref` VARCHAR(50) NOT NULL , 
    `date` DATE NOT NULL , 
    `time stamp` TIMESTAMP(30) NOT NULL) ENGINE = InnoDB; 
+1

Geben Sie etwas Aufwand in die Formatierung Ihrer Abfrage. –

Antwort

4

A double ‚s Genauigkeit von zwei Argumenten festgelegt ist - (M, D) - M Stellen insgesamt und D Stellen nach dem Komma. A timestamp 's Präzision darf nicht größer als 6 sein. So:

CREATE TABLE `job`.`form_details` (
`email_id` VARCHAR(50) NOT NULL , 
`name` VARCHAR(50) NOT NULL , 
`number` VARCHAR(14) NOT NULL , 
`city` VARCHAR(50) NOT NULL , 
`skill` VARCHAR(50) NOT NULL , 
`qualification` VARCHAR(50) NOT NULL , 
`position` VARCHAR(50) NOT NULL , 
`exp` DOUBLE(5, 2) NOT NULL , -- Two arguments for the double's precision 
`ctc` DOUBLE(5, 2) NOT NULL , -- Here too 
`ref` VARCHAR(50) NOT NULL , 
`date` DATE NOT NULL , 
`time stamp` TIMESTAMP(6) NOT NULL -- Timestamp precision capped at 6 
) ENGINE = InnoDB 
+1

'Zeitstempel' ist ok persönlich Ich würde Leerzeichen in Feldnamen vermeiden. –

+0

@ P.Salmon Ich habe die OP-Spaltennamen verwendet, habe nur die Fehler behoben, die die Ausführung der Anweisung verhindert haben. Aber ich stimme zu, dass Leerzeichen in einem Spaltennamen wahrscheinlich eine schlechte Übung sind. – Mureinik

Verwandte Themen