วิธีเพิ่ม PostgreSQL อัตโนมัติ

Withi Pheim Postgresql Xatnomati



วิธีหนึ่งในการตรวจสอบให้แน่ใจว่าข้อมูลระบุตัวตนที่ไม่ซ้ำกันในฐานข้อมูล PostgreSQL ของคุณคือการใช้คุณสมบัติการเพิ่มค่าอัตโนมัติ เมื่อเปิดใช้งาน คุณลักษณะนี้จะสร้างข้อมูลเฉพาะตัวที่ไม่ซ้ำกันสำหรับแต่ละรายการใหม่ในตารางของคุณ เมื่อใช้การเพิ่มอัตโนมัติ หากคุณพยายามแทรกค่าใหม่ด้วยตัวระบุที่ไม่ซ้ำกันจะทำให้เกิดข้อผิดพลาด การเพิ่มอัตโนมัติสามารถใช้ได้ในหลายอินสแตนซ์ และคุณสามารถกำหนดวิธีที่คุณต้องการสร้างตัวระบุที่ไม่ซ้ำได้ รายละเอียดเพิ่มเติมเกี่ยวกับการเพิ่มอัตโนมัติของ PostgreSQL มีรายละเอียดอยู่ในโพสต์นี้ อ่านต่อ!

สองวิธีในการเพิ่ม PostgreSQL อัตโนมัติ

เมื่อสร้างฐานข้อมูล คุณควรมีคีย์หลักสำหรับแต่ละตารางเพื่อให้แน่ใจว่าไม่มีรายการที่ซ้ำกันปรากฏในตาราง วิธีหนึ่งในการสร้างคีย์หลักคือการใช้คุณลักษณะการเพิ่มอัตโนมัติสำหรับชนิดข้อมูล INT PostgreSQL สร้างค่าคีย์หลักสำหรับรายการทั้งหมด ช่วยให้นักพัฒนาไม่ต้องยุ่งยากกับการพิมพ์คีย์หลักด้วยตนเอง

มีสองวิธีที่คุณสามารถใช้เพื่อสร้างการเพิ่มขึ้นอัตโนมัติในฐานข้อมูล PostgreSQL ของคุณ







วิธีที่ 1: การใช้ SERIAL Pseudo-Type

วิธีเริ่มต้นในการสร้างการเพิ่มอัตโนมัติสำหรับคีย์หลักในฐานข้อมูลของคุณคือการใช้คำสำคัญ SERIEL เมื่อใช้ ประเภทหลอก SERIAL จะสร้างลำดับเพื่อสร้างค่า โดยจะบันทึกค่าถัดไปในลำดับ และเมื่อใดก็ตามที่คุณแทรกค่าใหม่ ค่านั้นจะได้รับการกำหนดให้มีเอกลักษณ์เฉพาะตัว



โปรดทราบว่าการเพิ่มอัตโนมัตินี้ถูกกำหนดให้กับประเภทข้อมูล INT และจะถูกลบเมื่อตารางหรือคอลัมน์ถูกทิ้ง



ต่อไปนี้เป็นไวยากรณ์สำหรับการสร้างการเพิ่มขึ้นอัตโนมัติ:





สร้าง โต๊ะ ตาราง_NAME ( รหัส SERIAL data_type ) ;

ในกรณีของเรา เรามาสร้างตารางชื่อ 'รายละเอียด' ซึ่งมี 'user_id' เป็นส่วนเพิ่มอัตโนมัติและคีย์หลักของเรา นอกจากนี้เรายังรวมอีกสองคอลัมน์ไว้ด้วย



เมื่อเราต้องการแทรกค่าลงในตารางของเรา เราจะแทรกเฉพาะคอลัมน์อื่นๆ และไม่ต้องเพิ่มคอลัมน์เพิ่มอัตโนมัติเนื่องจากค่าจะถูกสร้างขึ้นโดยอัตโนมัติ นี่คือตัวอย่างที่เราเพิ่มห้ารายการลงในตารางของเรา:

เมื่อเราใช้คำสั่ง SELECT เพื่อตรวจสอบบันทึกของตาราง โปรดสังเกตว่าคอลัมน์ “user_id” มีข้อมูลระบุตัวตนที่ไม่ซ้ำกัน ซึ่งในกรณีของเราคือตัวเลขที่เริ่มต้นจาก 1 นั่นคือวิธีการเพิ่มค่า PostgreSQL อัตโนมัติโดยใช้ประเภทหลอก SERIAL

วิธีที่ 2: การสร้างลำดับ

เมื่อคุณใช้ประเภทหลอก SERIAL เพื่อสร้างค่าที่เพิ่มขึ้นอัตโนมัติ คุณจะไม่ได้ควบคุมวิธีการสร้างข้อมูลเฉพาะตัวของคุณ สำหรับตัวอย่างก่อนหน้านี้ เราพบว่าข้อมูลระบุตัวตนที่ไม่ซ้ำกันของเราเริ่มต้นจาก 1 อย่างไรก็ตาม หากคุณต้องการควบคุมค่าเหล่านี้ สมมติว่าคุณต้องการกำหนดจุดที่จะเริ่มสร้างค่าเหล่านี้ คุณต้องสร้างลำดับที่กำหนดเอง

PostgreSQL มีตัวเลือก SEQUENCE ซึ่งคุณสามารถระบุชื่อคอลัมน์ที่จะใช้สำหรับการเพิ่มอัตโนมัติและกำหนดค่าเริ่มต้นสำหรับคอลัมน์ได้ ตัวอย่างเช่น หากเราต้องการเริ่มต้นค่าจาก 100 เราจะสร้างลำดับที่กำหนดเองต่อไปนี้:

สร้างลำดับ column_name start_value;

หลังจากสร้างลำดับแล้ว คุณสามารถสร้างตารางของคุณได้ โปรดทราบว่าคุณต้องใช้ชื่อคอลัมน์เดียวกันกับที่คุณสร้างลำดับเช่น 'nextval('holder')' สำหรับตารางที่สร้างขึ้น ด้วยวิธีนี้ PostgreSQL จะอ้างอิงลำดับเพื่อทราบว่าควรปฏิบัติตามลำดับใดเมื่อสร้างเอกลักษณ์เฉพาะสำหรับคอลัมน์

เรารันคำสั่งต่อไปนี้เพื่อสร้างตารางของเรา:

ดำเนินการแทรกค่าลงในตารางที่สร้างขึ้นสำหรับคอลัมน์ที่เกี่ยวข้อง

เมื่อเราเรียกใช้แบบสอบถาม “select” เพื่อแสดงรายการตาราง เราจะเห็นว่าเราสามารถควบคุมการเพิ่มอัตโนมัติของเราได้ คอลัมน์ “user_id” เริ่มต้นที่ 100 และสร้างค่าที่ตามมาสำหรับรายการอื่นๆ ที่เราแทรกลงในตาราง

นั่นเป็นอีกวิธีหนึ่งในการสร้างการเพิ่มอัตโนมัติสำหรับ PostgreSQL

บทสรุป

การสร้างการเพิ่มอัตโนมัติมีประโยชน์สำหรับการสร้างเอกลักษณ์ในตารางของคุณ เมื่อคุณต้องการกำหนดคีย์หลักสำหรับตารางของคุณ ให้ใช้คุณสมบัติการเพิ่มอัตโนมัติสำหรับชนิดข้อมูล INT PostgreSQL จะสร้างค่าโดยอัตโนมัติ เพื่อให้มั่นใจว่าไม่มีรายการที่ซ้ำกันในตารางของคุณ เราได้กำหนดวิธีการสร้างการเพิ่มอัตโนมัติสำหรับ PostgreSQL และให้ตัวอย่างสองตัวอย่างจากสองวิธีที่คุณสามารถใช้ได้ ทั้งสองวิธีสามารถใช้ได้ขึ้นอยู่กับสถานการณ์ที่คุณมี ลองดูสิ!