CREATE TABLE `mi`.`mi_oauth` (
`id` int NOT NULL AUTO_INCREMENT,
`uid` int NOT NULL COMMENT '用户ID',
`oauth_type` int NOT NULL DEFAULT 1 COMMENT '1 QQ登录\r\n2 微信登录\r\n3 新浪微博登录',
`access_token` varchar NOT NULL COMMENT '不同平台返回的token',
`oauth_uid` varchar NOT NULL COMMENT '授权用户唯一标识',
`expires_in` varchar NULL COMMENT 'access_token的生命周期,不同平台不一样',
`oauth_date` int NOT NULL COMMENT '授权时间',
PRIMARY KEY (`id`) ,
UNIQUE INDEX `uid` (`uid`)
)
ENGINE=MyISAM
COMMENT='用户授权信息表'
;今天建表的时候,用上述SQL语句!一直报错如下:[Msg] Failed - Error on Table mi_oauth - 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 'NOT NULL COMMENT '不同平台返回的token',
`oauth_uid` varchar NOT NULL COM' at line 5
反复纠结才发现!原来mysql在varchar类型的字段时候必须规定长度!如下:
CREATE TABLE `mi`.`mi_oauth` (
`id` int NOT NULL AUTO_INCREMENT,
`uid` int NOT NULL COMMENT '用户ID',
`oauth_type` int NOT NULL DEFAULT 1 COMMENT '1 QQ登录\r\n2 微信登录\r\n3 新浪微博登录',
`access_token` varchar(255) NOT NULL COMMENT '不同平台返回的token',
`oauth_uid` varchar(255) NOT NULL COMMENT '授权用户唯一标识',
`expires_in` varchar(255) NULL COMMENT 'access_token的生命周期,不同平台不一样',
`oauth_date` int NOT NULL COMMENT '授权时间',
PRIMARY KEY (`id`) ,
UNIQUE INDEX `uid` (`uid`)
)
ENGINE=MyISAM
COMMENT='用户授权信息表'
;
OK!
本文详细解析了在MySQL中创建表格时遇到的语法错误,特别是关于VARCHAR字段长度设置的问题。通过实例展示了错误原因及修正方法,帮助开发者避免常见建表陷阱,确保数据库结构设计的正确性和高效性。

6436

被折叠的 条评论
为什么被折叠?



