“unsigned int..”附近存在未知的create table语法错误

new9mtju  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(487)

我一直盯着这个简单的 CREATE TABLE 查询20分钟,我不明白为什么会抛出错误:

create table `schema_change` (
    `schema_change_id` unsigned int not null auto_increment,
    `major_release_number` unsigned int not null,
    `minor_release_number` unsigned int not null,
    `point_release_number` unsigned int not null,
    `script_name` varchar(100) not null,
    `date_applied` datetime not null,
    constraint `pk_schema_change` primary key (
        `schema_change_id`
    )
);

返回的错误是一个基本语法错误,但我无法发现任何不正确的语法:

1064-您的sql语法有错误;检查与您的mysql服务器版本相对应的手册,以获得使用第3行附近的“unsigned int not null,minor\u release\u number unsigned int not null,point\u rel”的正确语法

我错过了什么?
(使用MySQL5.1.73版本)

xpcnnkqh

xpcnnkqh1#

必须在类型后面使用unsigned,因为它修改 int ```
create table schema_change (
schema_change_id int unsigned auto_increment,
major_release_number int unsigned not null,
minor_release_number int unsigned not null,
point_release_number int unsigned not null,
script_name varchar(100) not null,
date_applied datetime not null,
constraint pk_schema_change primary key (
schema_change_id
)
);

请参见此处的实际操作:http://sqlfiddle.com/#!9/685bf/1号楼
zpjtge22

zpjtge222#

UNSIGNED 是类型属性,必须位于类型名称之后: INT UNSIGNED ,不是 UNSIGNED INT .

相关问题