[英]Reached maximum limit of primary key and deleted all records from table but still can't insert the record
我有一張表,其中有兩個字段,一個是id,它是具有Auto Increment屬性(tinyint)的主鍵,另一個是名稱(varchar(20))。
id
tinyint(4)NOT NULL AUTO_INCREMENT,name
varchar(20)NOT NULL,PRIMARY KEY(id
)
之后,我將表中的值從1插入到127(tinyint的最大限制)。 現在,如果我嘗試將記錄插入表中,則會報錯,因為我達到了tinyint的最大限制。 我很好。 但是,如果我刪除所有記錄並且表為空,那么我也將無法插入任何記錄。 我知道我可以在這里使用truncate來重置主鍵。 但是我的問題是,為什么mysql不會為主鍵插入任何可用的值(從1到127),並且如果我手動為1到127插入id的值,它將起作用。
insert into `new table` (id,name) values(1,'blahblahblah') Working
insert into `new table` (name) values('blahblahblah') Not working
如果我有一個帶有大型數據庫的應用程序,並且遇到這種情況,將來任何記錄插入都可能失敗,那么在發生這種情況之前我怎么知道。 有什么方法可以插入記錄(通過刪除所有記錄在空表中)而不截斷表。
對不起,我的英語不好。
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.