2017-02-25 10 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) - 소수점 총과 D 자리에서 M의 자리. 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

'time stamp'는 개인적으로 필드 이름의 공백을 피할 것입니다. –

+0

@ P.Salmon OP의 열 이름을 사용하여 명령문 실행을 방해하는 오류를 수정했습니다. 그러나 컬럼 이름에 공백이 있으면 나쁜 습관 일 수 있다는 것에 동의합니다. – Mureinik