【问题标题】:How do I start auto increment from a specific point?如何从特定点开始自动递增?
【发布时间】:2011-03-29 01:37:42
【问题描述】:
CREATE TABLE `batchinfo` (
  `rowid` int(11) NOT NULL AUTO_INCREMENT,
  `datapath` mediumtext,
  `analysistime` varchar(50) DEFAULT NULL,
  `reporttime` varchar(50) DEFAULT NULL,
  `lastcalib` varchar(50) DEFAULT NULL,
  `analystname` varchar(150) DEFAULT NULL,
  `reportname` varchar(150) DEFAULT NULL,
  `batchstate` varchar(150) DEFAULT NULL,
  `instrument` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`rowid`),
  UNIQUE KEY `rowid_UNIQUE` (`rowid`)
) ENGINE=InnoDB AUTO_INCREMENT=15034 DEFAULT CHARSET=latin1

我想从 20000 年开始自动递增。

我该怎么做?我可以编辑表格一些如何从 20000 开始递增吗?

【问题讨论】:

    标签: sql mysql


    【解决方案1】:

    查看查询的最后一行:

    AUTO_INCREMENT=15034
    

    改成:

    AUTO_INCREMENT=20000
    

    就这么简单! :)

    CREATE TABLE `batchinfo` (
      `rowid` int(11) NOT NULL AUTO_INCREMENT,
      `datapath` mediumtext,
      `analysistime` varchar(50) DEFAULT NULL,
      `reporttime` varchar(50) DEFAULT NULL,
      `lastcalib` varchar(50) DEFAULT NULL,
      `analystname` varchar(150) DEFAULT NULL,
      `reportname` varchar(150) DEFAULT NULL,
      `batchstate` varchar(150) DEFAULT NULL,
      `instrument` varchar(20) DEFAULT NULL,
      PRIMARY KEY (`rowid`),
      UNIQUE KEY `rowid_UNIQUE` (`rowid`)
    ) ENGINE=InnoDB AUTO_INCREMENT=20000 DEFAULT CHARSET=latin1;
    
    INSERT INTO batchinfo (datapath) values('test');
    SELECT * FROM batchinfo;
    

    【讨论】:

      【解决方案2】:

      我不知道如何从CREATE 声明中做到这一点,但之后你可以这样做:

      ALTER TABLE `batchinfo` AUTO_INCREMENT = 20000;
      

      【讨论】:

        【解决方案3】:
        ALTER TABLE batchinfo AUTO_INCREMENT = 20000;
        

        另见Autoincrement

        【讨论】:

        • Mysql重启后,auto_increment值发生变化:(
        猜你喜欢
        • 1970-01-01
        • 2013-10-27
        • 1970-01-01
        • 1970-01-01
        • 2012-05-31
        • 2017-11-03
        • 2011-12-29
        • 1970-01-01
        • 2021-09-02
        相关资源
        最近更新 更多