MYSQL的列值自增长:auto_increment(二)

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

承接上文MYSQL的列值自增长:auto_increment(一)继续

问题五:auto_increment的默认初始值为多少?这个初始值可以修改吗?如何修改。
默认初始值为1,可以修改。
有两种方式指定其初始值
1.建表时设置
下面代码将初始值设置为4

/*创建表users,其中id为主键,并且自增长*/
CREATE TABLE `users` (
`u_id` INT(11) NOT NULL AUTO_INCREMENT,
`u_name` VARCHAR(20) DEFAULT NULL,
`u_pw` VARCHAR(32) DEFAULT NULL,
PRIMARY KEY (`u_id`)
)AUTO_INCREMENT=4;

2.创建表完成后设置

/*创建表users,其中id为主键,并且自增长*/
CREATE TABLE `users` (
`u_id` INT(11) NOT NULL AUTO_INCREMENT,
`u_name` VARCHAR(20) DEFAULT NULL,
`u_pw` VARCHAR(32) DEFAULT NULL,
PRIMARY KEY (`u_id`)
);


ALTER TABLE users AUTO_INCREMENT = 4;

注意没有为某一列单独指定自增长字段初始值为多少,也就是说这个命令并不存在列级约束,只有表级约束。
而且指定初始值后需要立即添加数据,假如这个这个表是空的,然后断开了本次连接,那么初始值就会恢复到默认值。

问题六:如果在创建表时忘记了指定某一列为自增长的字段,应该如何进行追加?
示例如下:

/*创建表users,其中id为主键,并且自增长*/
CREATE TABLE `users` (
`u_id` int(11) NOT NULL,
`u_name` varchar(20) DEFAULT NULL,
`u_pw` varchar(32) DEFAULT NULL
PRIMARY KEY (`u_id`)
);

alter table users modify u_id int auto_increment;

问题七:列值自增加每次默认增加多少?如何进行修改?
列值自增加默认为每次加1.称为步长为1.
举例:

/*创建表users,其中id为主键,并且自增长,初始值为4*/
CREATE TABLE `users` (
`u_id` INT(11) NOT NULL AUTO_INCREMENT,
`u_name` VARCHAR(20) DEFAULT NULL,
`u_pw` VARCHAR(32) DEFAULT NULL,
PRIMARY KEY (`u_id`)
)AUTO_INCREMENT = 4;

/*设置步长为2,插入数据验证*/
SET @@auto_increment_increment=2;
INSERT INTO users VALUES (NULL,'鬼王','dfak;lelkf;s'),(NULL,'道玄','sfsaffleslfjsk');

结果为:
MYSQL的列值自增长:auto_increment(二)

未完,下文请参照MYSQL的列值自增长:auto_increment(三)
欢迎指正,欢迎评论,每天都会有相应内容上传,欢迎关注