MySQL中最后一条记录的语句

MySQL中最后一条记录的语句
在MySQL中,我们使用auto_increment类型ID字段作为表的主键和使用它作为其他表形成主从表结构的外键,这是数据库设计中的一种常见的用法。但当我们生成的ID,我们的操作顺序一般是:先在主表插入记录,然后把ID自动生成,并将记录从表的基础上。有困难如何插入主表记录后得到其对应的ID。常用的方法是通过选择最大的方式(ID)字段,但很明显,这种方式需要考虑并发情况。它需要X锁在主表上进行事务处理,然后在获取max(id)值后它会解锁。这种方法需要很多步骤,有点麻烦,而且并发性不好。有没有更简单的方法答案之一是通过选择last_insert_id()操作。乍一看,这就像选择MAX(ID),但它实际上是线程安全的。也就是说,它是特定于数据库的连接。以下实验表明:

1,插入一条记录到一个表中的连接1,和一个表包含一个领域的auto_increment型。

2,将记录插入到连接2中的表中。

3、结果:在连接1,执行选择last_insert_id结果()不同,选择last_insert_id结果(2)连接,并执行选择最大的结果(ID)在两个连接是一样的。
事实上,scope_identity之间的差异()和()ident_current MSSQL类似这里使用scope_identity(),你可以得到一个标识字段插入当前会话的值,而使用ident_current()达到最大值插在身份场未区分不同的会话。

注意:在使用时要注意选择last_insert_id(),当你插入一个记录数,只有ID值的第一个插入,一定要注意!你可以试试看。

插入(C1、C2)值Tb(c1value,c2value),(c1value1,c2value2)..

tag:语句电脑软件mysql

相关内容