นี่เป็นไวยากรณ์ postgresql ที่เหมาะสมหรือไม่เพื่อเพิ่มคอลัมน์ในตารางที่มีค่าเริ่มต้นเป็น false
ALTER TABLE users
ADD "priv_user" BIT
ALTER priv_user SET DEFAULT '0'
ขอบคุณ!
นี่เป็นไวยากรณ์ postgresql ที่เหมาะสมหรือไม่เพื่อเพิ่มคอลัมน์ในตารางที่มีค่าเริ่มต้นเป็น false
ALTER TABLE users
ADD "priv_user" BIT
ALTER priv_user SET DEFAULT '0'
ขอบคุณ!
คำตอบ:
ALTER TABLE users
ADD COLUMN "priv_user" BOOLEAN DEFAULT FALSE;
คุณยังสามารถระบุ NOT NULL โดยตรง
ALTER TABLE users
ADD COLUMN "priv_user" BOOLEAN NOT NULL DEFAULT FALSE;
อัปเดต : ต่อไปนี้เป็นจริงสำหรับเวอร์ชันก่อนหน้า postgresql 11 เท่านั้น
ดังที่ Craig กล่าวไว้ในตารางที่กรอกข้อมูลแล้วมันจะมีประสิทธิภาพมากกว่าในการแบ่งออกเป็นขั้นตอน:
ALTER TABLE users ADD COLUMN priv_user BOOLEAN;
UPDATE users SET priv_user = 'f';
ALTER TABLE users ALTER COLUMN priv_user SET NOT NULL;
ALTER TABLE users ALTER COLUMN priv_user SET DEFAULT FALSE;
ALTER TABLE users ADD COLUMN priv_user BOOLEAN;
ไปแล้วและในที่สุดถ้าคุณจำเป็นต้องUPDATE users SET priv_user = 'f';
ALTER TABLE users ALTER COLUMN priv_user SET NOT NULL;
หากคุณต้องการคอลัมน์บูลีนจริง:
ALTER TABLE users ADD "priv_user" boolean DEFAULT false;
สำหรับการอ้างอิงในอนาคตหากคุณมีคอลัมน์บูลีนอยู่แล้วและคุณต้องการเพิ่มค่าเริ่มต้นให้ทำดังนี้
ALTER TABLE users
ALTER COLUMN priv_user SET DEFAULT false;
หากคุณใช้ postgresql คุณต้องใช้ประเภทคอลัมน์บูลีนเป็นตัวพิมพ์เล็กเป็นบูลีน
ผู้ใช้ ALTER TABLE ทำการเพิ่ม "priv_user" บูลีน DEFAULT false;
ใน psql แก้ไขไวยากรณ์เคียวรีคอลัมน์เช่นนี้
Alter table users add column priv_user boolean default false ;
ค่าบูลีน(จริงเท็จ)บันทึกในฐานข้อมูลเช่น(TF)มูลค่า
boolean
คอลัมน์จริง