mysql数据库主键设置了自增,但是,我把删除了一些数据,随后加的数据为什么会自增ID会接着已经删除了的

mysql数据库主键设置了自增,但是,我把删除了一些数据,随后加的数据为什么会自增ID会接着已经删除了的,第1张

这是数据主键自增的固然性质所决定的,数据删除后,主键还是会继续增加的,即主键使用过一次将不会再次使用。

例如:这个表中有10条数据,主键为1-10不间断的数字,那删除第十条数据,继续插入的话,id则会变成11,而不是10。通俗的说就是主键使用过一次将不会再次使用。

每次插入则不需要为主键设置参数,数据库会根据设置的递增条件,自动给出主键值。则第一次插入后主键为1,第二次为2,依次递增。

扩展资料:

Mysql、SqlServer主键自动增长的设置方法:

1、在mysql中把主键定义为自动增长标识符类型

如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:

createtablecustomers(idintauto_incrementprimarykeynotnull,namevarchar(15))insertintocustomers(name)values("name1"),("name2")

2、在MSSQLServer中,如果把表的主键设为identity类型,数据库就会自动为主键赋值。例如:

createtablecustomers(idintidentity(1,1)primarykeynotnull,namevarchar(15))insertintocustomers(name)values("name1"),("name2")identity包含两个参数,第一个参数表示起始值,第二个参数表示增量。

参考资料来源:百度百科-主键约束

清空MySQL表,使ID重新从1自增的步骤如下:

我们需要准备的材料分别是:电脑、Mysql查询器。

1、首先,打开Mysql查询器,连接上相应的mysql连接。

2、鼠标右击需要清空自增ID的表,选择“设计表”,再将选项卡切换到“设置”栏,会发现虽然清空了表,但是自动递增的数值仍然没有变回1。

3、在自动递增栏,将数值更改为数字1,并点击“保存”按钮。

4、此时会发现,再新增数据时,ID自动从1开始递增了。

由于是数据库管理系统内部机制限死的,题主这个需求没有太好的解决方案。可以考虑在经过一段时间增删数据出现数字不连续情况后,采取删除自增ID字段,再重新添加自增ID字段来消除ID不连续的现象,也可以通过将数据导入含自增ID字段的空表等方法来消除数字间断。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7299948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存