สำหรับสิ่งนี้ คุณสามารถแทรกโดยใช้ตารางคู่ของ MySQL ให้เราสร้างตารางเพื่อทำความเข้าใจการแทรกตามเงื่อนไขของแนวคิด แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง ConditionalInsertDemo -> ( -> UserId int, -> TotalUser int, -> NumberOfItems int -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.58 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า ConditionalInsertDemo (101,560,780) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า ConditionalInsertDemo (102,660,890); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า ConditionalInsertDemo ( 103,450,50);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก ConditionalInsertDemo;
ผลลัพธ์
<ก่อนหน้า>+---------+-----------+--------------+| รหัสผู้ใช้ | TotalUser | Number OfItems |+--------+-----------+---------------------+| 101 | 560 | 780 || 102 | 660 | 890 || 103 | 450 | 50 |+---------+-----------+--------------+3 แถวในชุด (0.00 วินาที)ก่อน>ตอนนี้คุณมี 3 ระเบียนในตาราง คุณสามารถแทรกระเบียนถัดไปด้วยการแทรกแบบมีเงื่อนไขโดยใช้ตารางคู่ แบบสอบถามแทรกระเบียนในตารางเมื่อใดก็ตามที่ UserId=104 และ NumberOfItems=3500 ต้องไม่มีอยู่ในตารางแล้ว แบบสอบถามแทรกเงื่อนไขมีดังนี้ −
mysql> แทรกลงใน ConditionalInsertDemo(UserId,TotalUser,NumberOfItems) -> เลือก 104,900,3500 จาก dual -> WHERE NOT EXISTS (SELECT * FROM ConditionalInsertDemo -> โดยที่ UserId=104 และ NumberOfItems=3500) แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.18 วินาที) บันทึก:1 รายการซ้ำ:0 คำเตือน:0
ตอนนี้คุณสามารถตรวจสอบตารางว่ามีการแทรกระเบียนหรือไม่ แบบสอบถามเพื่อแสดงระเบียนทั้งหมดมีดังนี้ −
mysql> เลือก *จาก ConditionalInsertDemo;