MySQL:插入一行并获取内容?

mysqlmysqli database

为了插入一行并获取内容,您需要使用存储过程,首先,您需要创建一个表。之后,您需要创建一个存储过程,该存储过程将插入一行并获取内容给最终用户。

要完成上述任务,让我们首先创建一个表。创建表的查询如下:

mysql> create table InsertRecord_SelectTable
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(20),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (1.45 sec)

现在创建一个存储过程,在上面的表中插入一条记录,并在调用存储过程后立即从表中返回结果。创建存储过程的查询如下:

mysql> DELIMITER //
mysql> create procedure Insert_select
   -> (
   -> In tempName varchar(40)
   -> )
   -> begin
   -> declare tempId int unsigned;
   -> insert into InsertRecord_SelectTable(Name) values (tempName);
   -> set tempId = last_insert_id();
   -> select *from InsertRecord_SelectTable where Id= tempId;
   -> END //
Query OK, 0 rows affected (0.21 sec)
mysql> DELIMITER ;

调用存储过程进行查看、插入一行并获取内容。调用存储过程的查询如下:

CALL yourStoredProcedureName;

现在您可以调用您的存储过程:

mysql> call Insert_select('John');

输出结果如下:

+----+------+
| Id | Name |
+----+------+
| 1  | John |
+----+------+
1 row in set (0.12 sec)
Query OK, 0 rows affected, 1 warning (0.13 sec)

相关文章