我正在安装运行此查询的旧 vBulletin 版本 3.x,
CREATE TABLE usertextfield (
userid INT UNSIGNED NOT NULL DEFAULT '0',
subfolders MEDIUMTEXT,
pmfolders MEDIUMTEXT,
buddylist MEDIUMTEXT,
ignorelist MEDIUMTEXT,
signature MEDIUMTEXT,
searchprefs MEDIUMTEXT,
rank MEDIUMTEXT,
PRIMARY KEY (userid)
);
这对于较旧的 MySQL 版本始终工作正常,但在 MySQL 8 中给出语法错误.. #1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解要在附近使用的正确语法
'rank MEDIUMTEXT,
PRIMARY (userid)
)'
在第 9 行 而这个几乎相同的查询执行良好并创建了表。
CREATE TABLE administrator (
userid INT UNSIGNED NOT NULL DEFAULT '0',
adminpermissions INT UNSIGNED NOT NULL DEFAULT '0',
navprefs MEDIUMTEXT,
cssprefs VARCHAR(250) NOT NULL DEFAULT '',
notes MEDIUMTEXT,
dismissednews TEXT,
languageid SMALLINT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (userid)
)
您能否告诉我发生了什么变化以及我应该做什么?
最佳答案
RANK
变为 reserved keyword在 MySQL 8.0.2 中。您应该重命名该列,或用 ` 标记将其括起来,即
`rank` MEDIUMTEXT,
关于mysql - MySQL 8 的这种语法有什么问题? ,5.7 运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54453279/