我有一张这样的桌子
mysql> describe seudonimos;
+--------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+------------------+------+-----+---------+----------------+
| id_seudonimo | int(11) unsigned | NO | PRI | NULL | auto_increment |
| seudonimo | varchar(45) | NO | UNI | NULL | |
+--------------+------------------+------+-----+---------+----------------+
2 rows in set (0.02 sec)
假设它是空的,所以自动增量为 0。例如:
SET AUTOCOMMIT=0;
START TRANSACTION;
INSERT INTO seudonimos (seudonimo) VALUES ('Agatha Christie');
ROLLBACK;
SET AUTOCOMMIT=1;
据我所知,回滚不会影响自动增量。因此,如果我插入一个新值,自动增量将为 2 而不是 1。但如果我再次尝试插入“Agatha Christie”,我会遇到以下问题:
INSERT INTO seudonimos (seudonimo) VALUES ('Agatha Christie');
#1062 - Duplicate entry 'Agatha Christie' for key 'seudonimo'
这不是我所期望的。我期待这个:
+--------------+--------------------+
| id_seudonimo | seudonimo |
+--------------+--------------------+
| 2 | Agatha Christie |
+--------------+--------------------+
怎么了?