温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mysql中怎么实现主键自动增长

发布时间:2021-08-13 15:43:27 来源:亿速云 阅读:198 作者:Leah 栏目:数据库

本篇文章为大家展示了mysql中怎么实现主键自动增长,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1、我们先建一个表user

mysql> create table user(
    -> id int(4) primary key auto_increment,
    -> username varchar(20),
    -> password varchar(20));
Query OK, 0 rows affected (0.08 sec)

2、我们先插入一条数据:

mysql> insert into user values (null,'admin',300000);
Query OK, 1 row affected (0.09 sec)

3、我们插入的主键值为null,可还是插入成功了。查看该表的值:

mysql> select * from user;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  1 | admin    | 300000   |
+----+----------+----------+
1 row in set (0.00 sec)

该表中的id仍为1。

4、我们再插一条正常的数据:

mysql> insert into user (username,password) values ('Europa','123');
Query OK, 1 row affected (0.03 sec)

5、自动增长后是2,数据库中呢?我们看下:

mysql> select * from user;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  1 | admin    | 300000   |
|  2 | Europa   | 123      |
+----+----------+----------+
2 rows in set (0.00 sec)

数据库中的值就是2

6、我们再插入一条手动指定主键值的数据:

mysql> insert into user values (4,'europa','123');
Query OK, 1 row affected (0.24 sec)

7、若按自动增长,即为3的。我们看下数据库里的值:

mysql> select * from user;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  1 | admin    | 300000   |
|  2 | Europa   | 123      |
|  4 | europa   | 123      |
+----+----------+----------+
3 rows in set (0.00 sec)

并非我们猜想的值,是手动设定的值4。

你可以继续进行试验,但你最终会发现,若自动增长的主键值,你手动设为null,数据库会忽略掉null,按自动增长给值;若手动给其他合法的值,

就不会自动增长,按你给定的值给值。

因此可以得出结论:mysql中的主键自动增长时,他会先检查插入的主键值是否合法,若不合法就报错;再者检验插入的主键值是否为空,若为空,则

按自动增长赋值;再者,在插入数据时没有给主键设值,也会自动增长赋值。

上述内容就是mysql中怎么实现主键自动增长,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI