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

Insert ข้อมูลจากตารางอื่นรวมกับค่าคงที่ (Constant) ใน MySQL

บทความนี้สาธิตการ INSERT ... SELECT ที่รวมค่าคงที่ (Constant) เข้ากับคอลัมน์จากตารางอื่น เพื่อสร้างข้อมูลใหม่ในตารางปลายทาง

ตารางต้นทาง (DemoTable1)

mysql> CREATE TABLE DemoTable1 (Name VARCHAR(100));
mysql> INSERT INTO DemoTable1 VALUES('John'), ('Chris'), ('Robert');

ตารางปลายทาง (DemoTable2)

mysql> CREATE TABLE DemoTable2(
    ConstantValue INT,
    EmployeeName VARCHAR(100)
);

คิวรี INSERT SELECT รวม Constant

mysql> INSERT INTO DemoTable2(ConstantValue, EmployeeName) 
SELECT '1000', Name FROM DemoTable1;
Query OK, 3 rows affected (0.13 sec)

ผลลัพธ์ใน DemoTable2

+---------------+--------------+
| ConstantValue | EmployeeName |
+---------------+--------------+
| 1000          | John         |
| 1000          | Chris        |
| 1000          | Robert       |
+---------------+--------------+

คำอธิบาย:

  • SELECT '1000', Name - '1000' เป็น Constant (Literal) ซ้ำทุกแถว, Name มาจากตารางต้นทาง
  • จำนวนคอลัมน์ใน SELECT ต้องตรงกับคอลัมน์ใน INSERT (2 คอลัมน์)
  • สามารถใช้ Expression, Function, หรือ Subquery แทน Constant ได้
  • เหมาะสำหรับ: สร้าง Audit Log, Duplicate ข้อมูลพร้อม Flag, ETL Process