Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL: เพิ่มแถวและดึงข้อมูลกลับมาทันที


เพื่อเพิ่มแถวและดึงข้อมูลกลับมาทันที ต้องใช้ Stored Procedure ก่อนอื่นสร้างตาราง แล้วสร้าง Stored Procedure ที่จะ INSERT และ SELECT ผลลัพธ์ทันทีหลังเรียกใช้

ตัวอย่างการใช้งาน

สร้างตาราง:

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)

สร้าง Stored Procedure:

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 ;

เรียก Stored Procedure:

CALL Insert_select('John');

ผลลัพธ์:

+----+------+ | Id | Name | +----+------+ | 1  | John | +----+------+ 1 row in set (0.12 sec)

วิธีนี้สะดวกสำหรับแอปพลิเคชันที่ต้องการ ID ที่เพิ่งสร้าง (LAST_INSERT_ID) ทันทีหลัง INSERT