在phpmyadmin中执行建表语句
CREATE TABLE `user3` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`nack` varchar(255) DEFAULT NULL,
PRIMARY KEY (`username`,`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
MySQL 返回:
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
很明显,这句话的意思是说:定义了多个主键。mysql中是不允许多主键的。但是,我们的主键确实可以有多个字段。
比如使用以下的语句,先删除老的主键,在新增两个字段的主键:
ALTER TABLE `tbname`
DROP PRIMARY KEY,
ADD PRIMARY KEY(
`id`,
`username`);
先设置一个主键,在alter两个主键