Heim > Fragen und Antworten > Hauptteil
MySQL erstellt eine Tabelle und meldet einen Fehler. Ich kann sie nicht verstehen, nachdem ich das Handbuch gelesen habe.
create table abc(
id int unsigned primary_key auto_increment,
usename char(20) not null default '',
gender char(1) not null default '',
weight tinyint unsigned not null default 0,
birth date not null default 0,
salary decimal(8,2) not null default '000000.00',
lastlogin timestamp not null default 0,
intro varchar(1500) not null default '',
)engine myisam charset=utf8;
Fehlerbericht: Sie haben einen Fehler in Ihrer SQL-Syntax. Sehen Sie im Handbuch zu Ihrer MySQL-Serverversion nach, welche Syntax in der Nähe von „primary_key auto_increment,username char(20) not null default“,gender c“ in der Zeile richtig ist 3
伊谢尔伦2017-06-06 09:54:09
创建带索引的数据库表需要为表名和属性添加反单引号,并且你当前的primary key
的位置需要调整一下:
create table `abc`(
`id` int unsigned auto_increment,
`usename` char(20) not null default '',
`gender` char(1) not null default '',
`weight` tinyint unsigned not null default 0,
`birth` date not null default 0,
`salary` decimal(8,2) not null default '000000.00',
`lastlogin` timestamp not null default 0,
`intro` varchar(1500) not null default '',
primary key (`id`)
)engine myisam charset=utf8;
我刚刚试了一下,除了primary key
其他的属性和表名不加反单引号也可以,即这样也是可以的:
create table abc(
id int unsigned auto_increment,
usename char(20) not null default '',
gender char(1) not null default '',
weight tinyint unsigned not null default 0,
birth date not null default 0,
salary decimal(8,2) not null default '000000.00',
lastlogin timestamp not null default 0,
intro varchar(1500) not null default '',
primary key (`id`)
)engine myisam charset=utf8;
参考:mysql创建和删除表