我一直盯着这个简单的 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版本)
2条答案
按热度按时间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
)
);
zpjtge222#
UNSIGNED
是类型属性,必须位于类型名称之后:INT UNSIGNED
,不是UNSIGNED INT
.