当我运行desc features
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(128) | YES | UNI | NULL | |
+-------+--------------+------+-----+---------+----------------+
下面有一个表,
+-----------+----------------------------------------------------------+
| id | name |
+-----------+----------------------------------------------------------+
| 105314659 | latitude |
| 105314658 | final |
+-----------+----------------------------------------------------------+
我运行INSERT INTO features (name) VALUES ('test')
,它没有给自动增加主键,如
+-----------+----------------------------------------------------------+
| id | name |
+-----------+----------------------------------------------------------+
| 109728684 | test |
| 105314659 | latitude |
| 105314658 | final |
+-----------+----------------------------------------------------------+
+-----------+----------------------------------------------------------+
| id | name |
+-----------+----------------------------------------------------------+
| 109728690 | test5 |
| 109728688 | test4 |
| 109728687 | test3 |
| 109728686 | test2 |
| 109728684 | test |
| 105314659 | latitude |
| 105314658 | final |
+-----------+----------------------------------------------------------+
有人有什么想法吗?谢谢!
***本表为delete
和insert
BTW常数。但是当我运行单插入时,它没有自动增量id
***
这篇文章来自
INSERT INTO nlp_request_feature_types (name) VALUES ('test4');
,
它会导致exc.IntegrityError
,比如ERROR 1062 (23000): Duplicate entry 'test4' for key 'features.ix_features'
, BUT id = 109728689,将被分配。
那么下次运行INSERT INTO nlp_request_feature_types (name) VALUES ('test5');
时,它将成功保存到表中,并且主键id =109728690
。
auto-incremental
主键不起作用。然而,它确实有效,只是因为我们的错误ERROR 1062
消耗了一个id。