这段MYSQL有啥错误。无法运行

查看 72|回复 4
作者:xuanlove   
-- 用户信息
CREATE TABLE IF NOT EXISTS  `user`(
    `id` bigint(20) UNSIGNED NOT NULL  AUTO_INCREMENT,
    `studentName` varchar (20) NOT NULL COMMENT '用户名',
    `bookArr` longtext NOT NULL COMMENT '学生预定的书籍'
    PRIMARY KEY (`id`)
)ENGINE =InnoDB DEFAULT charset =utf8 COMMENT='用户信息';
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
错误
静态分析:
分析时发现3个错误。
    应该是有逗号或结束括号。 (near "(" at position 225)
    不应出现的开始声明。 (near "`id`" at position 226)
    无法识别的声明形式。 (near "ENGINE" at position 234)
SQL 查询: 复制
-- 用户信息 CREATE TABLE IF NOT EXISTS `user`( `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, `studentName` varchar (20) NOT NULL COMMENT '用户名', `bookArr` longtext NOT NULL COMMENT '学生预定的书籍' PRIMARY KEY (`id`) )ENGINE =InnoDB DEFAULT charset =utf8 COMMENT='用户信息';
MySQL 返回: 文档
#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 '(`id`)
)ENGINE =InnoDB DEFAULT charset =utf8 COMMENT='用户信息'' at line 6
求帮忙改正

用户信息, 错误, 用户名

dvbhack   
主键定义前一行少个逗号
cgs3238   
[ol]
-- 用户信息
CREATE TABLE IF NOT EXISTS  `user`(
    `id` bigint(20) UNSIGNED NOT NULL  AUTO_INCREMENT,
    `studentName` varchar (20) NOT NULL COMMENT '用户名',
    `bookArr` longtext NOT NULL COMMENT '学生预定的书籍',
    PRIMARY KEY (`id`)
)ENGINE =InnoDB DEFAULT charset =utf8 COMMENT='用户信息';
[/ol]复制代码
Nightmarec   
这段 SQL 有一个错误,缺少了逗号(,)分隔符。正确的语法应该是:
CREATE TABLE IF NOT EXISTS user (
id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
studentName varchar(20) NOT NULL COMMENT '用户名',
bookArr longtext NOT NULL COMMENT '学生预定的书籍',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户信息';
在第三行的最后,需要加上一个逗号(,)来分隔下一个字段的定义。另外,建议将字符集(charset)改为 utf8mb4,以支持更广泛的字符集。

上面是chatgpt的答案
jacob   
varchar (20) 中的空格会导致语法错误,正确的写法是 varchar(20),括号与类型名之间不应有空格。  longtext 后面应该加上逗号,即 longtext NOT NULL,,表示该字段不允许为空。  缺少逗号分隔符,应在 bookArr 字段的定义和上面的 studentName 字段之间加上逗号,即 bookArr longtext NOT NULL,。  改正后的语句如下:  CREATE TABLE IF NOT EXISTS `user` (   `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,   `studentName` varchar(20) NOT NULL COMMENT '用户名',   `bookArr` longtext NOT NULL COMMENT '学生预定的书籍',   PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户信息';
您需要登录后才可以回帖 登录 | 立即注册

返回顶部