+ -
当前位置:首页 → 问答吧 → 多列索引中的一列自增 在mysql 5.5.17执行不了

多列索引中的一列自增 在mysql 5.5.17执行不了

时间:2011-11-07

来源:互联网

SQL code

CREATE TABLE animals (
    grp ENUM('fish','mammal','bird') NOT NULL,
    id MEDIUMINT NOT NULL AUTO_INCREMENT,
    name CHAR(30) NOT NULL,
    PRIMARY KEY (grp,id)
);

提示错误:
Incorrect table definition;there can be only one auto column and it must be defined as a key!

为啥会报这个错误呢?这个建表语句来自官方手册:
http://dev.mysql.com/doc/refman/5.1/zh/tutorial.html#multiple-tables

作者: lpfvip2008   发布时间: 2011-11-07

改成这个。
CREATE TABLE animals (
  grp ENUM('fish','mammal','bird') NOT NULL,
  id MEDIUMINT NOT NULL AUTO_INCREMENT,
  name CHAR(30) NOT NULL,
  PRIMARY KEY (grp,id)
) ENGINE=MyISAM;


innodb 是不支持这种方式的。

作者: ACMAIN_CHM   发布时间: 2011-11-07

对于MyISAM和BDB表,你可以在第二栏指定AUTO_INCREMENT以及多列索引

作者: rucypli   发布时间: 2011-11-07

相关阅读 更多