[英]Deleting last row in MySQL table
當我刪除MySQL表中的最后一行然后插入一個新行時,為什么id仍然增加,好像第一行沒有被刪除? 有沒有辦法防止這種情況發生,所以它可能好像原來的行不在那里? 這是一個例子
Teachers
id first_name
0 joe
1 mike
2 jim
如果我刪除“jim”然后插入“bob”,那么bob的id將為3,並且不會有id為2的條目。
因為您的id列已配置為autoincremental,並且不能具有相同的值,除非您手動指定此值
刪除任何給定的行不會更改當前的自動增量值。
您可以通過運行查看表的自動增量變量的當前值
SHOW TABLE STATUS LIKE 'mytable';
您可以通過運行更改自動增量值
ALTER TABLE 'mytable' AUTO_INCREMENT = '1234';
你也可以使用ALTER TABLE tablename AUTO_INCREMENT = 2如果在刪除行之后和插入新行之前,為了使id增量從2開始
你需要在每次刪除操作后執行這個命令,這會將你的auto_increment重置為1將自動設置為最后一個可用的id(在你的例子中為2)
ALTER TABLE table_name AUTO_INCREMENT = 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.