เมื่อสร้างตารางใน PostgreSQL ชื่อข้อ จำกัด เริ่มต้นจะถูกกำหนดหากไม่ได้ระบุ:
CREATE TABLE example (
a integer,
b integer,
UNIQUE (a, b)
);
แต่การใช้ALTER TABLE
เพื่อเพิ่มข้อ จำกัด ดูเหมือนว่าชื่อจำเป็น:
ALTER TABLE example ADD CONSTRAINT my_explicit_constraint_name UNIQUE (a, b);
สิ่งนี้ทำให้การตั้งชื่อบางอย่างไม่สอดคล้องกันในโครงการที่ฉันทำและถามคำถามต่อไปนี้:
มีวิธีง่ายๆในการเพิ่มข้อ จำกัด ให้กับตารางที่ยังหลงเหลืออยู่ด้วยชื่อที่จะได้รับหากเพิ่มระหว่างการสร้างตารางหรือไม่?
ถ้าไม่ควรหลีกเลี่ยงชื่อเริ่มต้นทั้งหมดเพื่อป้องกันความไม่สอดคล้องกัน?