告诉我MySQL 8中的正确语法

问题描述 投票:-1回答:1
CREATE TABLE socialgroupcategory (
 socialgroupcategoryid INT unsigned NOT NULL auto_increment,
 creatoruserid INT unsigned NOT NULL,
 title VARCHAR(250) NOT NULL,
 description TEXT NOT NULL,
 displayorder INT unsigned NOT NULL,
 lastupdate INT unsigned NOT NULL,
 groups INT unsigned DEFAULT '0',
 PRIMARY KEY  (socialgroupcategoryid),
 KEY displayorder (displayorder)
);  

MySQL错误:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在'group INT unsigned DEFAULT'0',PRIMARY KEY(socialgroupcategoryid),第8行的KEY dis'附近使用正确的语法错误号码:1064

MySQL 5.7 - 好的

MySQL 8 - 错误

mysql
1个回答
0
投票

GROUPS已被添加为MySQL 8中的保留关键字。来自official documentation

GROUPS(R);在8.0.2中添加(保留)

您应该使用反引号来使用保留关键字命名列/表。使用以下内容(注意groups周围的反引号):

CREATE TABLE socialgroupcategory (
 socialgroupcategoryid INT unsigned NOT NULL auto_increment,
 creatoruserid INT unsigned NOT NULL,
 title VARCHAR(250) NOT NULL,
 description TEXT NOT NULL,
 displayorder INT unsigned NOT NULL,
 lastupdate INT unsigned NOT NULL,
 `groups` INT unsigned DEFAULT '0',
 PRIMARY KEY  (socialgroupcategoryid),
 KEY displayorder (displayorder)
);  
© www.soinside.com 2019 - 2024. All rights reserved.