เราสามารถอัปเดตตารางอื่นด้วยความช่วยเหลือของ inner join ให้เราสร้างสองตาราง
การสร้างตาราง
mysql> สร้างตาราง tblFirst -> ( -> id int, -> name varchar(100) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.48 วินาที)
กำลังแทรกบันทึก
mysql> INSERT เป็น tblFirst values(1,'John');Query OK, 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> INSERT เป็น tblFirst values(2,'Bob');Query OK, 1 แถวได้รับผลกระทบ (0.26 วินาที )mysql> INSERT ลงในค่า tblFirst (3,'David'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที)
แสดงบันทึกทั้งหมด
mysql> SELECT * จาก tblFirst;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+------+-------+| id | ชื่อ |+------+-------+| 1 | จอห์น || 2 | บ๊อบ || 3 | David |+------+-------+3 แถวในชุด (0.00 วินาที)การสร้างตารางที่สอง
mysql> สร้างตาราง UpdTable -> ( -> IncId int auto_increment, -> คีย์หลัก (IncId), -> id int, -> ชื่อ varchar(100) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.57 วินาที )
กำลังแทรกบันทึก
mysql> INSERT ลงใน UpdTable(id,name) values(1,'Taylor');Query OK, 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> INSERT เป็น UpdTable(id,name) ค่า(2,'jason');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.24 วินาที)mysql> INSERT เป็น UpdTable(id,name) ค่า(3,'carol');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> INSERT เป็น UpdTable(id,name) ค่า(4,'john');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.16 วินาที)
แสดงบันทึกทั้งหมด
mysql> SELECT * จาก UpdTable;
ต่อไปนี้เป็นผลลัพธ์
mysql> SELECT *จาก UpdTable;+------+------+---------+| IncId | id | ชื่อ |+-------+------+-------+| 1 | 1 | เทย์เลอร์ || 2 | 2 | เจสัน || 3 | 3 | แครอล || 4 | 4 | john |+-------+------+--------+4 แถวในชุด (0.00 วินาที)
ดูผลลัพธ์ข้างต้น นามสกุลตรงกับระเบียนตารางแรก ตอนนี้ ฉันจะเขียนแบบสอบถามสำหรับ UPDATE -
mysql> อัปเดต UpdTable -> inner join tblFirst ON (UpdTable.name =tblFirst.name) -> SET UpdTable.id =tblFirst.id ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) แถวที่ตรงกัน:1 เปลี่ยนแล้ว:1 คำเตือน:0
เราได้อัปเดตบันทึกล่าสุดดังนี้ −
คำถามคือ
mysql> SELECT * จาก UpdTable;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+-------+------+-------+| IncId | id | ชื่อ |+-------+------+-------+| 1 | 1 | เทย์เลอร์ || 2 | 2 | เจสัน || 3 | 3 | แครอล || 4 | 1 | john |+-------+------+--------+4 แถวในชุด (0.00 วินาที)ดูตัวอย่างผลลัพธ์ อัปเดตรหัสแล้ว ซึ่งเดิมคือ 4 แต่ตอนนี้เป็น 1 แล้ว