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

MYSQL中获取得最后一条记录的语句

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了mysql 获取建表语句,mysql 获取表创建语句,mysql删除记录语句,mysql更新记录语句,mysql建数据库语句等相关知识,希望本文的分享对您有所帮助

在MySQL中,使用auto_increment类型的id字段作为表的主键,并用它作为其他表的外键,形成“主从表结构”,这是数据库设计中常见的用法。但是在具体生成id的时候,我们的操作顺序一般是:先在主表中插入记录,然后获得自动生成的id,以它为基础插入从表的记录。这里面有个困难,就是插入主表记录后,如何获得它对应的id。通常的做法,是通过“select max(id) from tablename”的做法,但是显然这种做法需要考虑并发的情况,需要在事务中对主表加以“X锁“,待获得max(id)的值以后,再解锁。这种做法需要的步骤比较多,有些麻烦,而且并发性也不好。有没有更简单的做法呢?答案之一是通过select LAST_INSERT_ID()这个操作。乍一看,它和select max(id)很象,但实际上它是线程安全的。也就是说它是具体于数据库连接的。下面通过实验说明:

1、在连接1中向A表插入一条记录,A表包含一个auto_increment类型的字段。

2、在连接2中向A表再插入一条记录。

3、结果:在连接1中执行select LAST_INSERT_ID()得到的结果和连接2中执行select LAST_INSERT_ID()的结果是不同的;而在两个连接中执行select max(id)的结果是相同的。
       其实在MSSQL中SCOPE_IDENTITY()和IDENT_CURRENT()的区别和这里是类似的。使用SCOPE_IDENTITY()可以获得插入某个IDENTITY字段的当前会话的值,而使用IDENT_CURRENT()会获得在某个IDENTITY字段上插入的最大值,而不区分不同的会话。

注:使用select last_insert_id()时要注意,当一次插入多条记录时,只是获得第一次插入的id值,务必注意!可以试试

insert into tb(c1,c2) values (c1value,c2value),(c1value1,c2value2)..。

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

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

  • mysql 获取当天发布的信息的语句
  • MYSQL中获取得最后一条记录的语句

相关文章

  • 2018-12-05两种lnmp重置mysql数据库root密码的方法
  • 2018-12-05推荐10个mysql主从架构
  • 2018-12-05MSSQL安全设置的具体步骤和方法小结
  • 2018-12-05分享自己三天的性能调优遇到的一些问题
  • 2018-12-05工作中常用的mysql语句分享 不用php也可以实现的效果
  • 2017-05-11MYSQL设置触发器权限问题的解决方法
  • 2018-12-0515个初学者必看的基础SQL查询语句
  • 2018-12-05Oracle索引技术之如何建立最佳索引
  • 2018-12-05mysql 数据库备份和还原方法集锦 推荐
  • 2017-05-11MySQL 数据库的临时文件究竟储存在哪里

文章分类

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

最近更新的内容

    • MySQL DNS的使用过程详细分析
    • SQL SERVER的优化建议与方法
    • mysql 某字段插入随机数(插入随机数到MySQL数据库)_MySQL
    • MongoDB循序渐进之[特性]介绍
    • sql中的iif语句详解
    • MySql5.7.14安装教程详解(解压版)_MySQL
    • 有关mysql中ROW_COUNT()的小例子
    • sql 随机抽取几条数据的方法 推荐
    • php限制ip地址范围的实现方法
    • SQLServer 中的死锁说明

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

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