mySQL 查询: ALTER TABLE `email2` DROP PRIMARY KEY ,
ADD PRIMARY KEY ( `adddate` ) MySQL 返回: #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key 增加一下主键竟然错误CREATE TABLE IF NOT EXISTS email2 (
  emailid int(11) NOT NULL AUTO_INCREMENT,
   mailto varchar(255) NOT NULL DEFAULT 'ALL',
     adddate datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (emailid),) ENGINE=MyISAM 建好表了, 现要给这个表要加个主健, 为什么总是错
 adddate datetime NOT NULL DEFAULT '0000-00-00 00:00:00',给这个adddate 加个主健
ALTER TABLE `email2` DROP PRIMARY KEY ,
ADD PRIMARY KEY ( `adddate` ) 

解决方案 »

  1.   

    ALTER TABLE `email2` DROP PRIMARY KEY , 
    ADD PRIMARY KEY ( `adddate` ) int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '主键';
      

  2.   

    好像是因为原来的主键没有删除掉ALTER TABLE `email2` DROP PRIMARY KEY , 
    ADD `adddate` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '主键';//或者ALTER TABLE `email2` CHANGE `主键名` `新主键名` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键';
      

  3.   

    带有 AUTO_INCREMENT 属性的字段被默认为主键
      

  4.   

    主键是不能重复的 
    adddate datetime NOT NULL DEFAULT '0000-00-00 00:00:00', 
    ADD PRIMARY KEY ( `adddate` ) //上面那条把值全为0000-00-00 00:00:00 下面声明主键的的时候数据库重复,缺少唯一性.所以错... 
      

  5.   

    AUTO_INCREMENT, 字段,必须是主键的一部分!
      

  6.   

     Incorrect table definition; there can be only one auto column and it must be defined as a key in chinese it means :不正确的表定义,有且仅有一个自增栏目而且必须定义为关键字
      

  7.   

    Don`t leave the "AUTO_INCREMENT" in "PRIMARY KEY".