mysql建表语句报错,不知道怎么修改,求大佬给看看

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql建表语句报错,不知道怎么修改,求大佬给看看相关的知识,希望对你有一定的参考价值。

CREATE TABLE `article` (
`fid` int(11) NOT NULL AUTO_INCREMENT COMMENT '帖子id',
`titles` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '帖子标题',
`fcontent` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '帖子内容',
`photo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '帖子图片',
`bname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '所属板块名字',
`time` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '发帖时间',
`userid` int(11) NOT NULL COMMENT '发帖人id',
`username` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '发帖人姓名',
`status` int(11) UNSIGNED ZEROFILL NOT NULL DEFAULT 00000000000 COMMENT '帖子审核状态(0为待审核,1为通过审核,2为未通过审核,默认为0)',
PRIMARY KEY (`fid`) USING BTREE,
INDEX `userid`(`userid`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 67 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '发帖表' ROW_FORMAT = Compact;

报错提示
[Err] 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 '(0) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '' at line 7

看不出哪里有错,你用的什么版本?

我8.0的,复制过去没有问题,可以创建,只有6个警告,没有错误。

追问

我的也是8.0啊,不知道怎么回事,不过把两个时间戳后面的(0)都删掉就可以

参考技术A ON UPDATE CURRENT_TIMESTAMP(0)
这里把最后面的(0)去掉追问

大佬,去掉也不行怎么办?

本回答被提问者采纳
参考技术B time这一列

MySql 建表添加字段修改字段SQL语句写法

建表:

DROP TABLE IF EXISTS bulletin;

CREATE TABLE bulletin(
 id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,             # 主键
 uid INT(11) NOT NULL DEFAULT 0,    # 创建者id
 context VARCHAR(600) NOT NULL DEFAULT ‘‘,  # 公告详细内容(300字)
 begintime DEC(20) NOT NULL DEFAULT 0,   # 公告开始时间
 endtime DEC(20) NOT NULL DEFAULT 0,   # 公告结束时间
 createtime DEC(20) NOT NULL DEFAULT 0,   # 创建时间
 modifytime DEC(20) NOT NULL DEFAULT 0   # 修改时间

 

 PRIMARY KEY (`Id`),
)DEFAULT CHARSET=UTF8 TYPE=INNODB;

 

修改原有字段名称及类型:
ALTER TABLE bulletin CHANGE uid username VARCHAR(50) NOT NULL DEFAULT ‘‘;

添加新字段:

alter table bulletin add citycode varchar(6) not null default 0; # 城市代码










以上是关于mysql建表语句报错,不知道怎么修改,求大佬给看看的主要内容,如果未能解决你的问题,请参考以下文章

mysql外键建立不起来

用C#写sql,mysql中修改一条数据 修改成功后返回的是啥(怎么知道修改成功或者失败) 求代码?

mysql数据库cmd命令窗建表时有时候出错按回车一直换行不执行,也不报错,无法退出,如何解决?

安装了MySQL 后用cmd 显示没有该应用。。怎么办啊。。求大佬。。

mysql查看建表语句以及修改引擎

mysql的UPDATE语句,程序没报错,但没生效。求高手指点!急急急