在 MySQL 5.5 版本中,你可以尝试以下修改:
CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '昵称',
`userAccount` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '登录账户',
`avatarUrl` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '头像',
`gender` tinyint(1) DEFAULT NULL COMMENT '性别',
`userPassword` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码',
`phone` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '电话',
`email` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '邮箱',
`status` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '账号状态',
`createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`isDelete` tinyint(1) DEFAULT 0 COMMENT '是否删除(逻辑删除)',
`userRole` int(11) NOT NULL DEFAULT 0 COMMENT '用户权限:0-普通用户 1-管理员用户',
`planetCode` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '星球编号',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 CHARSET=utf8;
这个修改适用于 MySQL 5.5 版本,并进行了以下更改:
- 将
bigint(0)改为bigint(20),确保正确的整数宽度。 - 将
tinyint(0)改为tinyint(1),确保正确的布尔值范围。 - 移除了日期时间字段的
(0)长度限制。 - 修改了默认值和更新时间的定义方式。
请注意,在 MySQL 5.7+ 版本中,你可以直接使用原始的语法,而不需要做这些调整。
内容由零声教学AI助手提供,问题来源于学员提问




