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

วิธีการใช้ INSERT INTO … SELECT ใน MySQL อย่างถูกต้องเพื่อหลีกเลี่ยงข้อผิดพลาด 1064?


ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1 -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> FirstName varchar(100) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.57 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable1(FirstName) ('John');Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า DemoTable1(FirstName) ('Chris'); Query OK, 1 แถวได้รับผลกระทบ ( 0.13 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable1;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+-----------+| รหัส | ชื่อจริง |+----+-----------+| 1 | จอห์น || 2 | Chris |+----+-----------+2 แถวในชุด (0.00 วินาที)

ตอนนี้สร้างตารางที่สอง -

mysql> สร้างตาราง DemoTable2 -> ( -> CustomerId int, -> CustomerName varchar(100) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.43 วินาที)

ตอนนี้คุณสามารถแทรกบางระเบียนในตารางด้านบนโดยใช้คำสั่ง INSERT INTO SELECT -

mysql> แทรกลงใน DemoTable2(CustomerId,CustomerName) -> เลือก Id,FirstName จาก DemoTable1;Query OK, 2 แถวได้รับผลกระทบ (0.17 วินาที)ระเบียน:2 รายการซ้ำ:0 คำเตือน:0

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable2;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+------------+--------------+| รหัสลูกค้า | ชื่อลูกค้า |+-----------+------------+| 1 | จอห์น || 2 | คริส |+------------+-------------+2 แถวในชุด (0.00 วินาที)