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
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 是不支持这种方式的。
CREATE = "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"
cur.execute(CREATE)
`grp` enum('fish','mammal','bird') NOT NULL,
`id` mediumint(9) NOT NULL AUTO_INCREMENT,
`name` char(30) NOT NULL,
PRIMARY KEY (`grp`,`id`),
KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
it must be defined as a key