下面给出了创建表的代码,而我尝试在新数据库中导入此表时出现以下错误
查询
CREATE TABLE IF NOT EXISTS `blogs` (
`blog_id` int(10) NOT NULL AUTO_INCREMENT,
`blog_title` text NOT NULL,
`blog_content` text NOT NULL,
`created_on` datetime(6) NOT NULL,
`created_by` int(20) NOT NULL,
`updated_on` datetime(6) NOT NULL,
`updated_by` int(20) NOT NULL,
PRIMARY KEY (`blog_id`)
) Engine=InnoDB AUTO_INCREMENT=14 ;
错误:#1064 - 您的SQL语法出错;检查手册 对应于您的MySQL服务器版本,以获得正确的语法 使用near'(6)NOT NULL,
created_by
int(20)NOT NULL,
updated_on
日期时间(6)不是NU'在第11行
请指导我解决这个问题,我还需要导入很多表
答案 0 :(得分:4)
您无法将长度属性指定为datetime列:
CREATE TABLE IF NOT EXISTS `blogs` (
`blog_id` int(10) NOT NULL AUTO_INCREMENT,
`blog_title` text NOT NULL,
`blog_content` text NOT NULL,
`created_on` datetime NOT NULL,
`created_by` int(20) NOT NULL,
`updated_on` datetime NOT NULL,
`updated_by` int(20) NOT NULL,
PRIMARY KEY (`blog_id`)
) Engine=InnoDB AUTO_INCREMENT=14 ;
答案 1 :(得分:4)
从datetime(6)
删除长度(6)。
所以你的查询看起来像这样,
CREATE TABLE IF NOT EXISTS `blogs` (
`blog_id` int(10) NOT NULL AUTO_INCREMENT,
`blog_title` text NOT NULL,
`blog_content` text NOT NULL,
`created_on` datetime NOT NULL,
`created_by` int(20) NOT NULL,
`updated_on` datetime NOT NULL,
`updated_by` int(20) NOT NULL,
PRIMARY KEY (`blog_id`)
) Engine=InnoDB AUTO_INCREMENT=14 ;
答案 2 :(得分:4)
请勿在{{1}}中设置长度。只能将其用作
datetime
答案 3 :(得分:2)
我不知道您在Datetime字段中使用长度为6的原因。 删除长度,它会没问题。
答案 4 :(得分:0)
当使用MySQL 5.5时,在向日期时间添加长度时会导致错误,因此为此,您必须编写
REATE TABLE IF NOT EXISTS `blogs` (
`blog_id` int(10) NOT NULL AUTO_INCREMENT,
`blog_title` text NOT NULL,
`blog_content` text NOT NULL,
`created_on` datetime(6) NOT NULL,
`created_by` int(20) NOT NULL,
`updated_on` datetime(6) NOT NULL,
`updated_by` int(20) NOT NULL,
PRIMARY KEY (`blog_id`)
) Engine=InnoDB AUTO_INCREMENT=14 ;
然而,这在使用MySQL 5.6时会起作用。
它不会将长度添加到datetime
,但MySQL 5.6将忽略长度并将其作为普通datetime
字段执行。
答案 5 :(得分:0)
感谢大家的建议,现在为我工作
CREATE TABLE IF NOT EXISTS `blogs` (
`blog_id` int(10) NOT NULL AUTO_INCREMENT,
`blog_title` text NOT NULL,
`blog_content` text NOT NULL,
`created_on` datetime NOT NULL,
`created_by` int(20) NOT NULL,
`updated_on` datetime NOT NULL,
`updated_by` int(20) NOT NULL,
PRIMARY KEY (`blog_id`)
) Engine=InnoDB AUTO_INCREMENT=14 ;
当我们在表格中使用datetime时,它会自动分配内存大小,因此我们不需要指定它