在程序中遇到了一个很奇怪的问题,通过程序向库中插入数据已经成功,却拿不到select last_insert_id()生成的值,一直都是0;经过查资料,才明白insert into 语句要和 select last_insert_id() 在同一个Connection对象中才能返回正确的主键ID,否 ...
分类:
其他好文 时间:
2018-06-02 21:35:07
阅读次数:
996
首先了解 LAST_INSERT_ID LAST_INSERT_ID 有自己的存储空间,能存一个数字 不带参数时返回最近insert的那行记录的自增字段值。带参数时会将自己存储的数字刷成参数给定的值 不带参数时返回最近insert的那行记录的自增字段值。带参数时会将自己存储的数字刷成参数给定的值 结 ...
分类:
数据库 时间:
2018-04-25 15:56:04
阅读次数:
264
Mybatis主键返回:在<insert>标签里添加下面的内容 <selectKey keyProperty="id" resultType="long" order="AFTER"> SELECT LAST_INSERT_ID() </selectKey> keyProperty="id":插入的 ...
分类:
其他好文 时间:
2018-04-14 15:24:43
阅读次数:
148
尊重个人劳动成果,转载请注明出处: http://blog.csdn.net/czd3355/article/details/71302441 首先我先解释以下在在映射文件中的代码是什么意思。 <insert id="insertStudent" parameterType="com.czd.myb ...
分类:
其他好文 时间:
2018-03-30 12:25:49
阅读次数:
187
mysql自增id获取 使用max函数:select max(id) from tablename 优点:使用方便快捷。 缺点:获取的不是真正的自增id,是表中最大的Id,如果有删除数据的话,那么该值和自增id相差比较大。如果有连表数据,有可能导致数据错乱。 使用LAST_INSERT_ID函数:s ...
分类:
数据库 时间:
2018-02-06 20:19:36
阅读次数:
176
last_insert_id的作用是:在当前表中的主键是自增时,插入一条新记录的同时使用last_insert_id可以获取当前的新记录的主键id。 下面是一个例子: ...
分类:
编程语言 时间:
2018-01-10 11:40:30
阅读次数:
118
<keyProperty="id" resultType="INTEGER"> select LAST_INSERT_ID() </keyProperty> 放在insert语句之前 keyProperty 数据库主键属性 在Controller直接拿对象就可以获取自增列的值 Integer id ...
分类:
数据库 时间:
2017-12-04 18:55:15
阅读次数:
178
第一种方法: insert INTO student(name) VALUES("南亚");SELECT @@identity 第二种方法: insert INTO student(name) VALUES("南亚");SELECT LAST_INSERT_ID() 在mapper.xml中写法: ...
分类:
其他好文 时间:
2017-10-15 17:31:08
阅读次数:
118
DELIMITER//DROPPROCEDUREinsertData//CREATEPROCEDUREinsertData(instrDatatext,intableNamechar(20),inmedKeystext,inmedValuestext) BEGIN declareorderIdint(11); set@sql0=strData; preparetemfrom@sql0; executetem; setorderId=last_insert_id(); set@sql=kvJsonD..
分类:
其他好文 时间:
2017-08-29 12:58:07
阅读次数:
123
1. 通过自增的键auto_increment取得。 select max(id) from tablename 这样的做法须要考虑并发的情况。须要在事务中对主表加以“X锁“,待获得max(id)的值以后。再解锁。 2. 使用select LAST_INSERT_ID() 方法。是线程安全的操作。使 ...
分类:
数据库 时间:
2017-04-23 12:38:51
阅读次数:
242