2017-03-10 107 views
1

我想从一个MYSQL数据库复制架构到其他MYSQL数据库。虽然这样做几张桌子给人的问题如下MYSQL:为什么我不能创建表

Error Code: 1064 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) DEFAULT NULL, 
    `is_superuser` tinyint(1) NOT NULL, 
    `username` varchar(30)' at line 4 

Execution Time : 0 sec 
Transfer Time : 0 sec 
Total Time  : 0 sec 

的MySQL脚本

DROP TABLE IF EXISTS `auth_user`; 

CREATE TABLE `auth_user` (
    `id` INT(11) NOT NULL AUTO_INCREMENT, 
    `password` VARCHAR(128) NOT NULL, 
    `last_login` DATETIME(6) DEFAULT NULL, 
    `is_superuser` TINYINT(1) NOT NULL, 
    `username` VARCHAR(30) NOT NULL, 
    `first_name` VARCHAR(30) NOT NULL, 
    `last_name` VARCHAR(30) NOT NULL, 
    `email` VARCHAR(254) NOT NULL, 
    `is_staff` TINYINT(1) NOT NULL, 
    `is_active` TINYINT(1) NOT NULL, 
    `date_joined` DATETIME(6) NOT NULL, 
    PRIMARY KEY (`id`), 
    UNIQUE KEY `username` (`username`) 
) ENGINE=INNODB AUTO_INCREMENT=33 DEFAULT CHARSET=latin1; 
+0

[* ** SqlFiddle ***](http://sqlfiddle.com/#!9/9eecb7d)没问题。 – Blank

+0

你的sql在MySQL 5.6.32上运行正常。 –

回答

1

更改DATETIME为TIMESTAMP:

这样的:

CREATE TABLE `auth_user` (
    `id` INT(11) NOT NULL AUTO_INCREMENT, 
    `password` VARCHAR(128) NOT NULL, 
    `last_login` TIMESTAMP NOT NULL, 
    `is_superuser` TINYINT(1) NOT NULL, 
    `username` VARCHAR(30) NOT NULL, 
    `first_name` VARCHAR(30) NOT NULL, 
    `last_name` VARCHAR(30) NOT NULL, 
    `email` VARCHAR(254) NOT NULL, 
    `is_staff` TINYINT(1) NOT NULL, 
    `is_active` TINYINT(1) NOT NULL, 
    `date_joined` TIMESTAMP NOT NULL, 
    PRIMARY KEY (`id`), 
    UNIQUE KEY `username` (`username`) 
) ENGINE=INNODB AUTO_INCREMENT=33 DEFAULT CHARSET=latin1; 
1

MySQL的检索和显示“YYYY-MM-DD HH:MM:SS”格式的DATETIME值。支持范围为“1000年1月1日00:00:00”到“9999-12-31 23:59:59'.You不需要指定日期时间数据类型的长度

DROP TABLE IF EXISTS `auth_user`; 

CREATE TABLE `auth_user` (
    `id` INT(11) NOT NULL AUTO_INCREMENT, 
    `password` VARCHAR(128) NOT NULL, 
    `last_login` DATETIME DEFAULT NULL, 
    `is_superuser` TINYINT(1) NOT NULL, 
    `username` VARCHAR(30) NOT NULL, 
    `first_name` VARCHAR(30) NOT NULL, 
    `last_name` VARCHAR(30) NOT NULL, 
    `email` VARCHAR(254) NOT NULL, 
    `is_staff` TINYINT(1) NOT NULL, 
    `is_active` TINYINT(1) NOT NULL, 
    `date_joined` DATETIME NOT NULL, 
    PRIMARY KEY (`id`), 
    UNIQUE KEY `username` (`username`) 
) ENGINE=INNODB AUTO_INCREMENT=33 DEFAULT CHARSET=latin1; 
相关问题