Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何重置MySql表中的自动递增数字/列_Mysql_Sql - Fatal编程技术网

如何重置MySql表中的自动递增数字/列

如何重置MySql表中的自动递增数字/列,mysql,sql,Mysql,Sql,item_category_id列是mysql表中的自动增量值 我需要删除所有值&下一次插入应从1开始。如果我删除所有值并尝试插入一个新行,那么它将从30和40开始 item_category_id item_category_name 1 qqq 25 ccc 32 vvv 29 bb 4

item_category_id列是mysql表中的自动增量值

我需要删除所有值&下一次插入应从1开始。如果我删除所有值并尝试插入一个新行,那么它将从30和40开始

  item_category_id  item_category_name
    1                     qqq
    25                    ccc
    32                    vvv
    29                    bb
    4                     bbb
    31                    hhh
    34                    mmm
    33                    rrr
如果使用Truncate,则不使用Delete,因为Truncate将删除数据并重置自动增量

TRUNCATE TABLE TABLENAME

如果您使用PHPmyAdmin来管理数据库,您可以

选择您的表格 导航到更多 然后,导航到操作 在这里,您将找到一个可以更改的自动增量字段: 自动增量值>


我认为这样做可以

除非您有外键,在这种情况下,您需要添加SET foreign_KEY_CHECKS=0;在截断和设置外键之前,检查=1;我同意你的回答,但不同意最后一句话。假设您有1000条记录,update语句将从技术上将id值重置为1到1000。在此之后,将自动增量值设置回1是没有意义的,它应该是1001。这有意义吗?alter应该是这样的:alter TABLE your_TABLE AUTO_INCREMENT=SELECT MAXid FROM your_TABLE+1;
TRUNCATE TABLE TABLENAME
ALTER TABLE `users` AUTO_INCREMENT = 1;
SET  @num := 0;

UPDATE your_table SET id = @num := (@num+1);

ALTER TABLE your_table AUTO_INCREMENT =1;