ฉันได้เริ่มเรียนรู้ pgAdmin III เพื่อจัดการฐานข้อมูล PostgreSQL แต่มันไม่ใช่แอพพลิเคชั่นที่ใช้งานง่าย
หากฉันสร้างหรือสร้างตารางด้วย pgAdmin III ฉันจะเพิ่ม "ฟังก์ชันเพิ่มค่าอัตโนมัติ" ในคอลัมน์รหัสที่มีจำนวนเต็มประเภทได้อย่างไร
ฉันได้เริ่มเรียนรู้ pgAdmin III เพื่อจัดการฐานข้อมูล PostgreSQL แต่มันไม่ใช่แอพพลิเคชั่นที่ใช้งานง่าย
หากฉันสร้างหรือสร้างตารางด้วย pgAdmin III ฉันจะเพิ่ม "ฟังก์ชันเพิ่มค่าอัตโนมัติ" ในคอลัมน์รหัสที่มีจำนวนเต็มประเภทได้อย่างไร
คำตอบ:
สองตัวเลือก: ใช้ "ประเภทข้อมูล" SERIALหรือสร้างลำดับและใช้ลำดับนี้เป็นค่าเริ่มต้นสำหรับจำนวนเต็มของคุณ:
CREATE SEQUENCE your_seq;
CREATE TABLE foo(
id int default nextval('your_seq'::regclass),
other_column TEXT
);
INSERT INTO foo(other_column) VALUES ('bar') RETURNING *;
ถ้าคุณต้องการทำสิ่งนี้ใน PGAdmin มันง่ายกว่าการใช้บรรทัดคำสั่ง ดูเหมือนว่าใน PostgreSQL เพื่อเพิ่มการเพิ่มอัตโนมัติในคอลัมน์ก่อนอื่นเราต้องสร้างลำดับการเพิ่มอัตโนมัติและเพิ่มลงในคอลัมน์ที่ต้องการ ฉันทำอย่างนี้
1) ประการแรกคุณต้องแน่ใจว่ามีคีย์หลักสำหรับตารางของคุณ เก็บประเภทข้อมูลของคีย์หลักไว้ด้วยสีใหญ่หรือเล็ก (ฉันใช้ bigint ไม่สามารถหาประเภทข้อมูลที่เรียกว่า serial ตามที่กล่าวไว้ในคำตอบอื่น ๆ )
2) จากนั้นใส่ลำดับโดยคลิกขวาที่ sequence-> เพิ่มลำดับใหม่ หากไม่มีข้อมูลในตารางให้คงลำดับไว้เหมือนเดิมอย่าทำการเปลี่ยนแปลงใด ๆ เพียงบันทึกไว้ หากมีข้อมูลอยู่ให้เพิ่มค่าสุดท้ายหรือค่าสูงสุดในคอลัมน์คีย์หลักให้กับค่าปัจจุบันในแท็บคำจำกัดความที่แสดงด้านล่าง
3) ในที่สุดเพิ่มบรรทัดnextval('your_sequence_name'::regclass)
เป็นค่าเริ่มต้นในคีย์หลักของคุณที่แสดงด้านล่าง
ตรวจสอบให้แน่ใจว่าชื่อลำดับถูกต้องที่นี่ นี่คือทั้งหมดที่เพิ่มขึ้นอัตโนมัติควรจะทำงาน
SERIAL
ใช่ไหม
GENERATED BY DEFAULT AS IDENTITY
กับ Postgres> = 10