..


ลิงก์ผู้สนับสนุน

คำสั่งหักด้วย INSERT ... เกี่ยวกับโปรแกรมปรับปรุงคีย์ที่ซ้ำกัน

บทความที่เขียนโดย Max Bossi

และ'รู้จักกันดีว่าการจัดการแบบสอบถามที่ถูกต้องคือสิ่งที่จำเป็นสำหรับการดำเนินงานที่มั่นคงและมีประสิทธิภาพ
ในบทความนี้เราจะนำเสนอไวยากรณ์ที่รู้จักกันน้อย แต่มีประสิทธิภาพสูงที่ผมพูดเกี่ยวกับคำสั่ง UPDATE ON ซ้ำ KEY

คำสั่งนี้จะถูกใช้ในระหว่างคำสั่ง INSERT และวัตถุประสงค์ของมันคือเพื่อตรวจสอบก่อนที่จะแทรกมีการทำสำเนาของคีย์หลัก (คีย์หลัก) หรือคีย์ที่ไม่ซ้ำกัน (คีย์ไม่ซ้ำกัน) และถ้าเกิดเหตุการณ์นี้เครื่องยนต์ un'UPDATE MySQL แทนจะแทรก

ประโยชน์จากข้อนี้มีความชัดเจน : คุณเขียนแบบสอบถามเดียวแทนสองมีข้อได้เปรียบในแง่ของประสิทธิภาพและล้างรหัส

ลองมาตัวอย่างเช่น สมมติว่าเราต้องการที่จะทำให้สคริปต์ง่ายที่ดำเนินการเข้าสู่ระบบของผู้เข้าชมเว็บไซต์ของเรา ด้านล่างโครงสร้างของตารางจากฐานข้อมูลของเรา :

  • IP (คีย์)
  • numero_visite
  • ultima_visita
ต้องการที่จะบันทึก IP ในการขนส่งทุกครั้งที่หน้าเว็บของเราที่เราได้ตามที่ตรรกะป​​กติท​​ำเลือกตรวจสอบเบื้องต้นก่อนว่า IP ที่ไม่อยู่ในฐานข้อมูลและเพียงถ้าคำตอบเป็นลบ (IP ไม่ได้ในปัจจุบัน) เพื่อสอบถาม INSERT

ขอบคุณที่จะแทรกไวยากรณ์ ... เกี่ยวกับโปรแกรมปรับปรุงคีย์ที่ซ้ำกัน ... เราสามารถบรรลุผลเดียวกันกับแบบสอบถามเดียว :

 



 แทรกค่า ip_visitatori ('123 .123.123.123', 1, Now ())

 





 ON DPLICATE กุญแจ







 UPDATE numero_visite numero_visite = + 1, ultima_visita = NOW ();

 
ดังนั้นหาก IP คือการรวมที่จะทำอย่างอื่นที่คุณเรียกใช้ update ง่ายของการบันทึกการได้รับผลกระทบ การใช้ไวยากรณ์นี้จะช่วยให้การได้รับผลประโยชน์ในแง่ของประสิทธิภาพเท่ากับ 30%

กับจินตนาการน้อย'และความฉลาดของข้อในคำถามที่อาจจะมีประโยชน์อย่างมากในสถานการณ์ต่างๆ
ตัวอย่างเช่นเราสามารถใช้ร่วมกับเงื่อนไข นี่คือตัวอย่าง : สมมติว่าคุณมีตารางของเว็บไซต์ประมูลออนไลน์สมมุติโครงสร้างดังนี้

  • ID_asta
  • migliore_offerta
สมมติว่าคุณต้องการที่จะดำเนินการกับตำแหน่งของข้อเสนอใหม่หากการประมูลมีการเสนอแล้วจะมีการอัพเกรดง่าย แต่ถ้ามีที่สูงกว่าหนึ่งแล้วมี :
 



 เสนอแทรกค่า (1, 120)

 





 ON DPLICATE กุญแจ







 UPDATE migliore_offerta = IF (VALUES (migliore_offerta) <120, 120, VALUES (migliore_offerta))

 
ผ่านแบบสอบถามอย่างง่ายที่เราแก้ไขได้ในหนึ่งถลาลงลดลง ... มิฉะนั้นเราจะมีการใช้แบบสอบถามหลายกับของเสียที่เป็นผลเนื่องมาจากแหล่งข้อมูล (และความเสี่ยงมากขึ้นจากข้อผิดพลาด)

ในประเภทเดียวกัน ...
E - Learning
MS Access (Advanced) MS Access (Advanced)
เรียนรู้วิธีสร้างและจัดการฐานข้อมูลอย่างรวดเร็วและง่ายดาย เริ่มต้นจาก 29 €
MySQL (Course) MySQL (Course)
การบริหารจัดการฐานข้อมูลโอเพนซอร์ส จาก 39 €
SQL และฐานข้อมูล (หลักสูตร) SQL และฐานข้อมูล (หลักสูตร)
การสร้างและจัดการฐานข้อมูลเชิงสัมพันธ์ จาก 39 €
ลิงก์ผู้สนับสนุน