如何让mysql从前一行值开始自动递增

时间:2012-10-16 06:13:32

标签: mysql row increment

提前感谢您对此的帮助。

这是我的问题:

表A包含我删除的垃圾邮件帐户。行如下: 1,2556,2559,2565,2595等。

我试图将表A导入同一数据库中的空表B. 表格有不同的字段。

表B拒绝导入,因为插入设置为自动增量。 Mysql表B似乎不想跳过行。

我转到表A并将行更新为:

1,2,3,4,5 ......,18

现在,当我尝试使用PyphAdmin在表A中创建用户,其user_id值为NULL, 我得到的id是2596.Sysql仍然记得旧的递增序列。 我怎样才能让Mysql表基于前一行自动递增所以新的 id将是19?

mysql导入文件在phpshield中加密,所以我不知道是什么 继续,无法编辑它。但我认为这是在我排除所有其他可能性之后发生的事情。

3 个答案:

答案 0 :(得分:2)

  1. 该字段必须是主键 - PRIMARY KEY (id)
  2. 该字段必须为AUTO_INCREMENT
  3. 重置表格的自动增量值。
  4. 例如 -

    CREATE TABLE table1(
      id INT(11) NOT NULL AUTO_INCREMENT,
      PRIMARY KEY (id)
    );
    

    设置新的自动增量值 -

    ALTER TABLE table1 AUTO_INCREMENT = 19;

答案 1 :(得分:0)

试试这个

ALTER TABLE A AUTO_INCREMENT = 19;

答案 2 :(得分:0)

  

ALTER TABLE TableA       AUTO_INCREMENT = 19;