我已经盯着这个简单的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服务器版本以使用正确的语法 near'unsigned int not null,minor_release_number unsigned int not null,point_rel'位于第3行
我想念什么?
(使用MySQL版本5.1.73)
答案 0 :(得分:1)
UNSIGNED
是一个类型属性,必须位于类型名称之后:INT UNSIGNED
,而不是UNSIGNED INT
。
答案 1 :(得分:1)
您必须在类型之后使用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`
)
);