创建表时在sql中出错

时间:2017-02-25 12:45:32

标签: mysql sql syntax-error ddl create-table

我正在尝试在我的数据库上创建一个表。这是错误

#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 个答案:

答案 0 :(得分:4)

double的精度由两个参数指定 - (M, D) - 总共M位数和小数点后D位数。 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