2016-09-09 9 views
-1

私のSQLモデルはちょっと残念です。私はモデルをグラフィカルに作成するためにMySQL Workbenchを使用し、私は自分のユースケースに合ったと思うスキーマを賞賛しました。しかし、それは私に次のエラーを与えるので、私はデータベースと同期することはできません。たぶん、誰かが私が間違っていたものを見ることができます。 Apparantly私は感謝ブラインド現在...SQL構文でスタックするエラー

Executing SQL script in server ERROR: Error 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 'NULL DEFAULT CURRENT_TIMESTAMP, last_activity DATETIME NULL DEFAULT NULL, ' at line 6

SQL Code: 
     CREATE TABLE IF NOT EXISTS `topas`.`user` (
      `id` INT(255) NOT NULL AUTO_INCREMENT, 
      `username` VARCHAR(50) NOT NULL, 
      `email` VARCHAR(80) NULL DEFAULT NULL, 
      `password` VARCHAR(250) NOT NULL, 
      `created_at` NULL DEFAULT CURRENT_TIMESTAMP, 
      `last_activity` DATETIME NULL DEFAULT NULL, 
      UNIQUE INDEX `username_UNIQUE` (`username` ASC), 
      UNIQUE INDEX `email_UNIQUE` (`email` ASC), 
      UNIQUE INDEX `id_UNIQUE` (`id` ASC), 
      PRIMARY KEY (`id`)) 
     ENGINE = InnoDB 
     DEFAULT CHARACTER SET = utf8 

SQL script execution finished: statements: 3 succeeded, 1 failed 

Fetching back view definitions in final form. 
Nothing to fetch 

です。

+1

列の種類がありません。それは 'created_at DATETIME NULL ...'または 'created_at TIMESTAMP NULL ...'でなければなりません。 'CREATE TABLE'ステートメントのドキュメントをチェックしてください:http://dev.mysql.com/doc/refman/5.7/en/create-table.html – axiac

答えて

1

このライン:

`created_at` NULL DEFAULT CURRENT_TIMESTAMP, 

は型定義が不足しています。それは次のようになります。

`created_at` DATETIME NULL DEFAULT CURRENT_TIMESTAMP, 
+0

私は本当に盲目です... thx – BlindPenguin

1

この行は、あなたがTIMESTAMPまたはDATETIMEのいずれかに設定する必要がありますデータ型

`created_at` NULL DEFAULT CURRENT_TIMESTAMP, 

が欠落しています。

`created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, 
`created_at` DATETIME NULL DEFAULT CURRENT_TIMESTAMP, 
0

あなたは列の型が欠落していますcreated_atカラム。
は、次のようになります。

`created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,