簡體   English   中英

刪除MySQL表中的最后一行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM