天天看點

mysql insert截取_MySql:插入一行并擷取内容

小編典典

您可以調用存儲過程,該過程将執行插入操作,并在一次調用中将結果集從應用程式層傳回到mysql:

存儲過程調用

mysql> call insert_user('bar');

+---------+----------+

| user_id | username |

+---------+----------+

| 1 | bar |

+---------+----------+

1 row in set (0.02 sec)

$sqlCmd = sprintf("call insert_user('%s')", ...);

簡單的例子:

drop table if exists users;

create table users

(

user_id int unsigned not null auto_increment primary key,

username varchar(32) unique not null

)

engine=innodb;

drop procedure if exists insert_user;

delimiter #

create procedure insert_user

(

in p_username varchar(32)

)

begin

declare v_user_id int unsigned default 0;

insert into users (username) values (p_username);

set v_user_id = last_insert_id();

-- do more stuff with v_user_id e.g. logs etc...

select * from users where user_id = v_user_id;

end#

delimiter ;

call insert_user('bar');

2020-05-17