mysql语句insert后取到返回的主键id
2017-05-09 13:37
309 查看
Q: 有时候做类似接口里的数据订正,需要取到insert语句返回的id主键,在程序里通过对象返回好取,但是写sql怎么取到呢?
A: 用select @@identity得到上一次插入记录时自动产生的ID
说明:
若插入了多个行,则会产生多个标识值,@@IDENTITY 返回最后产生的标识值
举个栗子:
CREATE TABLE a (
id int(255) NOT NULL auto_increment,
name VARCHAR(20) NOT null,
PRIMARY KEY (id)
);
DELETE FROM a;
SELECT * FROM a;
INSERT INTO a (name) VALUES('a');
INSERT INTO a (name) VALUES('b');
SELECT @@IDENTITY; -- 这里会显示出name='b'的记录id
SET @lastId=(SELECT @@IDENTITY); -- 把@lastId赋值为2
INSERT INTO a (name) VALUES(@lastId);-- name=2
SELECT * FROM a;
A: 用select @@identity得到上一次插入记录时自动产生的ID
说明:
若插入了多个行,则会产生多个标识值,@@IDENTITY 返回最后产生的标识值
举个栗子:
CREATE TABLE a (
id int(255) NOT NULL auto_increment,
name VARCHAR(20) NOT null,
PRIMARY KEY (id)
);
DELETE FROM a;
SELECT * FROM a;
INSERT INTO a (name) VALUES('a');
INSERT INTO a (name) VALUES('b');
SELECT @@IDENTITY; -- 这里会显示出name='b'的记录id
SET @lastId=(SELECT @@IDENTITY); -- 把@lastId赋值为2
INSERT INTO a (name) VALUES(@lastId);-- name=2
SELECT * FROM a;
相关文章推荐
- Mybatis+mysql之insert返回主键id
- mysql语句insert后返回主键
- mysql insert一条记录(事务提交之前)怎样返回创建记录的主键id,last_insert_id(),selectkey && <select> 标签属性
- MySql insert一条数据时使用自增主键,并在返回对象中给ID赋值
- mybatis+mysql insert添加数据后返回数据主键id
- Mysql多线程、多用户同时操作数据库获取当前用户操作的最新主键值(mysql_insert_id() 函数返回上一步 INSERT 操作产生的 ID)
- insert语句返回主键ID
- mybatis 怎样在insert数据之后返回主键id (MySQL,Oracle数据库)
- 熟悉java堆内存和栈内存和mysql的insert语句中含有id的处理
- MySQL生产库Insert了2次同样的记录但是主键ID是不一样的问题的分析过程
- MyBatis insert 返回主键的方法(oracle和mysql)
- Mybatis中insert中返回主键ID的方法
- mysql insert语句后如何获取insert数据的主键值自动编号
- IBatisNet 之 自动生成主关键字和Insert返回主键ID
- mysql_insert_id 为什么会返回空值
- Mybatis insert返回主键ID
- MyBatis+MySQL 返回插入的主键ID
- mysql insert语句后如何获取insert数据的主键值自动编号
- mysql,mybatis 返回插入的主键id
- mysql_insert_id 为什么会返回空值