2016-09-09 7 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

Эта линия отсутствует тип данных

`created_at` NULL DEFAULT CURRENT_TIMESTAMP, 

Вам нужно будет установить его в любом TIMESTAMP или DATETIME:

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

вы упускаете тип столбца для created_at column.
должно быть:

`created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,