2017-02-25 132 views
1

我正在嘗試在我的數據庫上創建一個表。這是錯誤創建表時在sql中出錯

#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 

我的查詢:

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

花費一些精力來格式化您的查詢。 –

回答

4

一個double的精度由兩個參數指定 - (M, D) - M位整數總數和d小數點後。 A timestamp的精確度必須不大於6.所以:

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

'時間戳'個人確定我會避免字段名稱中的空格。 –

+0

@P.Salmon我使用了OP的列名,只是修復了阻止語句執行的錯誤。但我同意列名中的空格可能是一個不好的習慣。 – Mureinik