我有一個不同的領域,包括一個主鍵,id
,這是一個表自動遞增:插入新項目到一個已填充表
+-------------------------------+------------------+------+-----+---------+
| Field | Type | Null | Key | Default | Extra
+-------------------------------+------------------+------+-----+---------+
| id | tinyint(11) | NO | PRI | NULL | auto_increment
表已填充了114個項目:
mysql> select count(*) as cnt from beer;
+-----+
| cnt |
+-----+
| 114 |
+-----+
而我試圖插入一組新的項目到表中。我沒有明確插入一個ID密鑰。下面是一個示例查詢:
mysql> INSERT INTO beer (name, type, alcohol_by_volume, description, image_url)
VALUES('Test Ale', 1, '4.6', '', 'https://untappd.s3.amazonaws.com/site/assets/images/temp/badge-beer-default.png');
嘗試手動插入查詢時,我得到以下錯誤(插入實際上是一個PHP腳本來完成相同的結果):
ERROR 1062 (23000): Duplicate entry '127' for key 1
這是怎麼回事?我認爲插入後id會自動增加。我應該注意到,前13條由於某種原因是空白/空的,最後一個鍵現在是127.(這不是我的表 - 我只是寫腳本)。
可能有人改變了自動增量的值('ALTER TABLE表名AUTO_INCREMENT = 127;' – jcho360 2013-05-07 16:34:12