ในบางครั้งเราจำเป็นต้อง copy data จากตารางหนึ่งไปยังอีกตารางหนึ่ง
โดยทั่วไปเรามักนึกถึงการเขียน php script เพื่อทำงานดังกล่าว
แต่จริงๆ แล้ว มีคำสั่ง SQL อันหนึ่งที่ไม่ได้ใช้บ่อยหนัก แต่มีประโยชน์แน่นอน อย่างน้อยก็ช่วยงานเราในส่วนนี้ได้
คำสั่งนี้รองรับทั้ง MySQL, Microsoft Access, Microsoft SQL Server, และ Oracle
Syntax การใช้คำสั่งเป็นดังนี้
INSERT INTO [Table-Name] (Column1,Column2,Column3,...) SELECT (Column1,Column2,Column3,...) WHERE ...
ตัวอย่าง
Table Contact
ContactID | Title | fname | lname | Cnty |
1 | Mr | Praponsak | Smith | Thailand |
2 | Ms | Nancy | Drew | England |
Table Customer
CustomerID | Lastname | Country | Comment |
7 | John | USA | no comment |
INSERT INTO Customer (Lastname, Country)
SELECT lname, Cnty
FROM Contact
WHERE Cnty = 'England'
ผลลัพธ์ที่ได้
CustomerID | Lastname | Country | Comment |
7 | John | USA | no comment |
8 | Drew | England |