我试图修改现有表中的列的默认值,但它不起作用。我在其他网站上也做过研究,但没用。
ALTER TABLE STOREREPS
MODIFY (COMM DEFAULT ('Y', 'N'));
其中,我的默认值设置为仅
Y
。我正在使用oracle11gsqldeveloper。
最佳答案
只能有一个默认值。当您向表中插入行而不指定列的值时,将使用默认值。不过,您可以添加一个check约束,以确保只允许'Y'
或'N'
;这可能是您正在寻找的。
根据每个dbms的变化(现在标识为oracle),您可以编写一些like:
ALTER TABLE STOREREPS
MODIFY (COMM DEFAULT 'Y'),
ADD CONSTRAINT check_comm_y_n CHECK (COMM IN ('Y', 'N'));
在CREATE TABLE语句中,可能是:
CREATE TABLE StoreReps
(
…
Comm CHAR(1) NOT NULL DEFAULT 'Y'
CONSTRAINT check_comm_y_n CHECK (Comm IN ('Y', 'N')),
…
);
但具体语法因dbms而异。
关于sql - 如何修改默认值以在SQL中接受Y或N而不是Y,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30009161/