• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 自增字段 auto_commit的研究分析

自增字段 auto_commit的研究分析

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了自增字段,auto_commit,研究分析等相关知识,希望本文的分享对您有所帮助
MySQL自增字段,自增字段计数器在主存储里面,不在硬盘上(This counter is stored only in main memory, not on disk)。
1,添加表,设立自增主键字段

create table t(id int primary key auto_increment, name varchar(3000)) engine=innodb;

2,可以让系统自增,也可以自己手动设置输入自增。

insert into t select 4, 'a44';
insert into t(name) select 'a8';

3,查询当前表的自增值

SELECT MAX(id) FROM t FOR UPDATE;

4,如果你设置的自增值超过当前最大自增值,则以你设置的自增值为准,开始自增。例如:
SELECT MAX(id) FROM t FOR UPDATE;得出值为4,然后你insert into t select 9, 'a44';那么这个时候,MAX(id)就是9,
那么下一个自增值就是16而不是5,当然了,你执行语句insert into t select 5, 'a44';也是可以通过的。


5,如果有事务的话,insert之后了rollback,autocommit里面的counter不会回滚,依然+1.


6,参数

innodb_autoinc_lock_made

在my.cnf里面直接添加一行

[mysqld]
innodb_autoinc_lock_mode = 0

然后重启mysql数据库,执行show variables like '%innodb_autoinc_lock_mode%'; 发现值为0,修改成功。


7,一个只有自增字段的表的录入方法

CREATE TABLE `t1` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


7.1 自己设值insert进去

insert into t1 select 1;
mysql> select * from t1;
+----+
| id |
+----+
|  1 |
+----+
1 row in set (0.00 sec)


7.2 调用mysql的函数 LAST_INSERT_ID();

mysql> SELECT LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
|                0 |
+------------------+
1 row in set (0.01 sec)

ps:这里是0,是因为上一次insert是录入的值,没有调用此函数,所以从0时初始值,但是不影响正常的insert到表的值。


mysql> insert into t1 select LAST_INSERT_ID();
Query OK, 1 row affected (0.00 sec)
Records: 1  Duplicates: 0  Warnings: 0
mysql> select * from t1;
+----+
| id |
+----+
|  1 |
|  2 |
+----+
2 rows in set (0.00 sec)
mysql>

以上就是自增字段 auto_commit的研究分析的内容,更多相关内容请关注微课江湖()!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 自增字段 auto_commit的研究分析
  • Oracle 实现类似SQL Server中自增字段的一个办法
  • SQL Server 中调整自增字段的当前初始值
  • MySQL中给自定义的字段查询结果添加排名的方法

相关文章

  • 2018-12-05关于MySQL建立新用户并授权的方法
  • 2018-12-05MySQL之递归小问题实例分享
  • 2018-12-05 Normalization VS Denormalization [转]
  • 2018-12-05REPLICATE 以指定的次数重复字符表达式
  • 2018-12-05实现MySQL语句加锁的方法
  • 2018-12-05Mysql的备份和恢复
  • 2018-12-05批量执行sql语句的方法
  • 2017-05-11安装mysql noinstall zip版
  • 2017-05-11mysql database manual(mysql数据库手册)
  • 2018-12-05检查并修复mysql数据库表的具体方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySQL 中处理 Null 时要注意两个陷阱
    • MySQL中prepare、execute与deallocate的用法详解
    • 基于unique与primary约束的区别分析
    • mysql实现合并同一ID对应多条数据的方法_MySQL
    • 深入mysql存储过程中表名使用参数传入的详解
    • sqlserver 巧妙的自关联运用
    • MySQL OOM 系列一 Linux内存分配_MySQL
    • 详解MySQL 4G内存服务器配置优化
    • 后盾网MySQL数据库视频教程资源推荐
    • centos 6.9安装mysql的实例教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有