我的SQL模型有点困难。我使用MySQL Workbench以图形方式创建模型,并且我认为我认为适合我的用例的模式。但是我无法与数据库同步,因为它给我以下错误。也许其他人可以看到我做错了什么。显然我目前是盲目的......
在服务器中执行SQL脚本错误:错误1064:您有错误 你的SQL语法;查看与MariaDB对应的手册 服务器版本,用于在'NULL DEFAULT附近使用正确的语法 CURRENT_TIMESTAMP,
last_activity
DATETIME NULL DEFAULT NULL, '在第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
感谢。
答案 0 :(得分:1)
这一行:
`created_at` NULL DEFAULT CURRENT_TIMESTAMP,
缺少类型定义。它应该是:
`created_at` DATETIME NULL DEFAULT CURRENT_TIMESTAMP,
答案 1 :(得分:1)
此行缺少数据类型
`created_at` NULL DEFAULT CURRENT_TIMESTAMP,
您需要将其设置为TIMESTAMP
或DATETIME
:
`created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
`created_at` DATETIME NULL DEFAULT CURRENT_TIMESTAMP,
答案 2 :(得分:0)
您错过了created_at
列的列类型
应该是:
`created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,