新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如何在MYSQL插数据ID自增的方法。
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的洛龙网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
如下参考:
1.在添加字段之前,第一个应该首先检查当前tb1表的结构,如下图所示。
2.实例字段列添加到表,如下所示。
3.再次看表结构和比较之前和之后的情况添加字段,如下图所示。
4.最后,插入新的数据行看到的样子,最后添加自动增长的字段,如下所示。
注意事项:
MySQL使用的SQL语言是访问数据库最常用的标准语言。MySQL软件采用双重许可政策,分为社区版,商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特性,一般中小网站开发选择MySQL作为数据库。
按如下方法操作:
1、先正常创建带有主键的表。
create table user(
id integer primary key,
firstname varchar(200) not null,
lastname varchar(200) not null,
age integer);
2、设置自增字段。
alter table user modify id integer auto_increment ;
3、将auto_increment_increment设置成10。
set auto_increment_increment=10
alter table questionlib modify id int(11) auto_increment;
注意事项:
修改后从下一条记录开始自动增长。如果想让原来的自动增长就得复制现有表的结构(无id),添加id并加上AUTO_INCREMENT,然后通过循环,添加n条空记录,然后对应先前表的id,依次插入数据。
扩展资料:
mysql自动增长开始值设置总结
1、创建表,设置表主键id自动增长,默认自动增长的起始值为1开始。
2、当表数据不为空的时候,重新去修改自动增长id开始值,mysql会主动去核对你设置的起始值是否是当前数据库已有id的最大值+1; 若是则修改成功,若不是则修改不成功 (默认还是id最大值+1)
3、要设置自动增长为1开始,需要清空表数据才行。alter table table_name AUTO_INCREMENT=1
4、若每次直接在数据库里面插入数据,则会自动的去修改当前表的自动增长起始值(设置自动增长起始值为当前插入成功的数据的id)
1、创建表时指定AUTO_INCREMENT自增值的初始值(即起始值):
CREATE TABLE XXX (ID INT(5) PRIMARY KEY AUTO_INCREMENT) AUTO_INCREMENT=100;
2、通过 ALTER TABLE 修改初始值(但是要大于表中的 AUTO_INCREMENT 自增值,否则设置无效):
ALTER TABLE XXX AUTO_INCREMENT=100;
3、如果自增序列的最大值被删除了,则在插入新记录时,该值被重用:
就是说如果表中原本有AUTO_INCREMENT属性值连续为78、100的值,但100这个数据被删除了,下此再添加数据的时候自增值为101,100被重用了。
即使在你将整个表中的所有数据delete清空后,之前的自增序列最大值还是会被重用。
解决办法是:
使用 ALTER TABLE XXX AUTO_INCREMENT=0; 重新设置自增初始值。
设置自增列
MYSQL的自增列一定要是有索引的列,设置种子值要在表的后面设置
--mysql
-- 设置自增ID从N开始
CREATE TABLE empautoinc(
ID INT PRIMARY KEY AUTO_INCREMENT
) AUTO_INCREMENT = 100 ; --(设置自增ID从100开始)
insert into empautoinc(id) values(null);
Query OK, 1 row affected (0.00 sec)
mysql select * from empautoinc;
+-----+
| ID |
+-----+
| 100 |
+-----+
1 row in set (0.00 sec)
show table status like 'empautoinc'G;
*************************** 1. row ***************************
Name: empautoinc
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 1
Avg_row_length: 16384
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: 101
Create_time: 2016-10-27 01:50:32
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)
设置自增列的步长,可以分为全局级别和会话级别
如果是会话级别,那么当用户新建一个会话的时候,那么步长又回到了全局级别,所以mysql的步长跟sqlserver的步长有很大的不同
mysql不能设置为 表级别 的步长
私信666领取资料