alter table questionlib modify id?int(11) auto_increment;
注意事项:
修改后从下一条记录开始自动增长.如果想让原来的自动增长就得复制现有表的结构(无id),添加id并加上AUTO_INCREMENT,然后通过循环,添加n条空记录,然后对应先前表的id,依次插入数据.
扩展资料:
mysql自动增长开始值设置总结
①.、创建表,设置表主键id自动增长,默认自动增长的起始值为1开始.
在MySQL中可通过字段的AUTO_INCREMENT属性来自动生成.
mysql数据库表主键自增长的sql语句
①.、不控制主键的起点
create?table?emb_t_dictBusType
(
emb_c_busTypeID?int?not?null?auto_increment,
primary?key(emb_c_busTypeID)?
)engine=INNODB?default?charset=gbk;
)engine=INNODB?auto_increment=1001?default?charset=gbk;
列的自增属性,一般用来设置整数列根据一定步长逐步增长的值,类似于其他数据库的序列.不过这里的"序列"是基于特定一张表的.关于自增属性的相关特性如下:
① 控制自增属性性能的变量:innodb_autoinc_lock_mode
innodb_autoinc_lock_mode=0
innodb_autoinc_lock_mode=1
一般用在主主复制架构或者多源复制架构里,主动规避主键冲突.
auto_increment_increment 控制步长
auto_increment_offset 控制偏移量
自增属性的列如果到了此列数据类型的最大值,会发生值溢出.比如变更表 f1 的自增属性列为 tinyint.
那针对这样的,建议在请求到达数据库前规避掉.
设置自增列
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 |
①. 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
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: 101
Update_time: NULL
Check_time: NULL
Checksum: NULL
Create_options:
Comment:
设置自增列的步长,可以分为全局级别和会话级别
如果是会话级别,那么当用户新建一个会话的时候,那么步长又回到了全局级别,所以mysql的步长跟sqlserver的步长有很大的不同
mysql不能设置为 表级别 的步长
如果你数据库已经建立 用这个方法:
ALTER TABLE +test+ CHANGE +id+ +id+ INT(11) NOT NULL AUTO_INCREMENT;
如果你数据库没有建立 ?就用CREATE :
如果你用的数据库软件 比如Navicat for MySQL. ?那么在设计表选项里有设置自动增长的,打上勾
以插入语句的方法来解决此问题.
如下参考:
①在添加字段之前,第一个zd应该首先检查tb1表的当前结构.
MySQL使用的SQL语言是访问数据库最常用的标准化语言.MySQL软件采用双重许可政策,分为社区版和商业版,由于其体积小,速度快,整体拥有成本低,尤其是开源这一特点,一般中小型网站开发都选择MySQL作为网站数据库.
以上就是土嘎嘎小编为大家整理的mysql怎么添加自增相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!