สองวิธีในการเพิ่ม 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 และให้ตัวอย่างสองตัวอย่างจากสองวิธีที่คุณสามารถใช้ได้ ทั้งสองวิธีสามารถใช้ได้ขึ้นอยู่กับสถานการณ์ที่คุณมี ลองดูสิ!