mysql中插入一條記錄返回該記錄id

2021-05-21 15:00:56 字數 886 閱讀 9895

1.select max(id) from user;

2.select last_insert_id() as id from user limit 1; 

(這個測試的返回id一直是0,有點問題)

3.儲存過程

1)oracel中

create sequence seqid

minvalue 1

maxvalue 999999999999999999999999999

start with 1

increment by 1

nocache

order;

create or replace procedure sp_insert(aname int,rst out int) is

begin

insert into tablename(id,name) values(seqid.nextval,aname);

rst:=seqid.currval;

end;

2)mysql中實現

delimiter $$

drop procedure if exists `test` $$

create definer=`root`@`localhost` procedure `test`(in name varchar(100),out oid int)

begin

insert into user(loginname) values(name);

select max(id) from user into oid;

select oid;

end $$

delimiter ;

然後執行

call test('gg',@id);

就返回id

MYSQL中取得最後一條記錄

在mysql中,使用auto increment型別的id欄位作為表的主鍵,並用它作為其他表的外來鍵,形成 主從表結構 這是資料庫設計中常見的用法。但是在具體生成id的時候,我們的操作順序一般是 先在主表中插入記錄,然後獲得自動生成的id,以它為基礎插入從表的記錄。這裡面有個困難,就是插入主表記錄後...

上一條記錄下一條記錄

select top 1 from 表 where id 當前id order by id desc select top 1 from 表 where id 當前id order by id desc 上一條記錄 select top 1 blogid from gcc bloginfo wher...

從mysql中查最後一條記錄

select from table order by id desc limit 1 mysql select from 表名 or der by 表 id desc limit 1 sqlserver oracle select top 1 from 表名 order by 表 id desc 首...