2017-02-25 7 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; 
A doubleの精度は、二つの引数で指定され
+1

クエリの書式設定に少し力を入れてください。 –

答えて

4

- 小数点以下の合計とD桁M桁 - (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 
+1

'タイムスタンプ'は個人的には大丈夫ですが、フィールド名に空白は入れません。 –

+0

@ P.Salmon OPの列名を使用しましたが、ステートメントの実行を妨げていたエラーを修正しました。しかし、私は、列の名前に空白があることはおそらく悪い習慣であることに同意します。 – Mureinik

関連する問題