MySQL的列值自增长:auto_increment(一)

时间:2022-04-15 09:03:28

问题1:当创建一个用户表时,希望每个用户拥有一个唯一的id,而这个id又不需要用户手动输入,怎么解决?

解答:可以在这一列上使用 auto_increment关键字,要求该列为整数类型,默认每插入一条数据时该列会被自动赋值。

问题2:创建表时怎么使用该关键字?
解答:代码如下,创建一个用户表users,有三列,分别为u_id(用户id),u_name(用户名称),u_pw(用户密码)。

/*用户表auto_increment*/
create table users(
/*用户id*/
u_id int primary key auto_increment,
/*用户昵称*/
u_name varchar(20),
/*用户密码*/
u_pw varchar(32)
);

问题3:在上面创建数据库表的语句中,把u_id字段设置为了主键,auto_increment属性是不是只能与主键一起使用?

不是这样,使用了auto_increment字段的列确实必须要建立索引,但并不一定要求是主键索引。
记住两点:
1. 脱离索引单独使用必定报错。
2. 只是习惯上常与主键配合使用,与其它索引配合也可以。

问题4:如何向表中插入字段?
现在向表中插入两条记录:

/*在自增长列上插入null的方式插入*/
INSERT INTO users VALUES(NULL,'碧瑶','dfsjalslef');
/*空出自增长列的方式插入*/
INSERT INTO users(u_name,u_pw) VALUES ('金瓶儿','dsfaewrg');

现在查看一下表中数据:

MySQL的列值自增长:auto_increment(一)

后续文章MYSQL的列值自增长:auto_increment(二)

欢迎评论,欢迎指正,会有更多的编程小经验上传,欢迎关注