เพื่อเพิ่มแถวและดึงข้อมูลกลับมาทันที ต้องใช้ 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