搜尋

首頁  >  問答  >  主體

mysql建表報錯,查手冊看不懂,求解?

mysql建表報錯,查手冊看不懂,求解?

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;

錯誤回報:you have an error in your sql syntax;check the manual that corresponds to your MySQL server version for the right syntax to use near 'primary_key auto_increment,username char(20) not'' null ault not' line 3

仅有的幸福仅有的幸福2764 天前727

全部回覆(2)我來回復

  • 伊谢尔伦

    伊谢尔伦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建立和刪除表

    回覆
    0
  • 天蓬老师

    天蓬老师2017-06-06 09:54:09

    primary_key聲明的不對,樓上解

    回覆
    0
  • 取消回覆