MySQL: #1075 - Incorrect table definition; autoincrement vs another key?

前端 未结 6 880
旧时难觅i
旧时难觅i 2020-11-29 03:13

Here is a table in MySQL 5.3.X+ db:

CREATE TABLE members` (
  `id` int(11)  UNSIGNED NOT NULL AUTO_INCREMENT,
  `memberid` VARCHAR( 30 ) NOT NULL ,
  `Time`          


        
6条回答
  •  谎友^
    谎友^ (楼主)
    2020-11-29 04:07

    First create table without auto_increment,

    CREATE TABLE `members`(
        `id` int(11) NOT NULL,
        `memberid` VARCHAR( 30 ) NOT NULL ,
        `Time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
        `firstname` VARCHAR( 50 ) NULL ,
        `lastname` VARCHAR( 50 ) NULL
        PRIMARY KEY (memberid) 
    ) ENGINE = MYISAM;
    

    after set id as index,

    ALTER TABLE `members` ADD INDEX(`id`);
    

    after set id as auto_increment,

    ALTER TABLE `members` CHANGE `id` `id` INT(11) NOT NULL AUTO_INCREMENT;
    

    Or

    CREATE TABLE IF NOT EXISTS `members` (
        `id` int(11) NOT NULL,
        `memberid` VARCHAR( 30 ) NOT NULL ,
        `Time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
        `firstname` VARCHAR( 50 ) NULL ,
        `lastname` VARCHAR( 50 ) NULL,
          PRIMARY KEY (`memberid`),
          KEY `id` (`id`)
    ) ENGINE=MYISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    

提交回复
热议问题