猿问
下载APP

UNIQUE KEY和auto_increment一起使用之后给表插入数据出错后,id只有1,3没有2?

mysql> CREATE TABLE tb5(

    -> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,

    -> username VARCHAR(20) NOT NULL UNIQUE KEY,

    -> age TINYINT UNSIGNED NOT NULL

    -> );

这是建表的代码

mysql> INSERT tb5(username,age) VALUE('Tom',22);

Query OK, 1 row affected (0.00 sec)


mysql> INSERT tb5(username,age) VALUE('Tom',21);

ERROR 1062 (23000): Duplicate entry 'Tom' for key 'username'

mysql> INSERT tb5(username,age) VALUE('tt',22);

Query OK, 1 row affected (0.00 sec)

这是插入数据的过程,出现了一个错误,然后就变成下面这样了

mysql> SELECT * FROM tb5;

+----+----------+-----+

| id | username | age |

+----+----------+-----+

|  1 | Tom      |  22 |

|  3 | tt       |  22 |

+----+----------+-----+

我有点困惑,和unique key有关吗?

qq_慕慕256229
浏览 78回答 1
1回答

乌云下的风

第二次插入 INSERT tb5(username,age) VALUE('Tom',21);unique key 唯一约束 Tom 已经存在了,你可以换成 Tom1
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答