我试图获得一个约束(这只是测试代码),但是当我添加数据(完成整个表)并在值中省略 Apptime 数据的情况下运行它时,它不会默认为 hello表中只有“-”。我正在使用 Oracle Live SQL。关于这是如何完成的有任何线索吗?如果我可以在架构中而不是约束中做到这一点,那就太好了,但如果它必须是外部的约束,那也没关系。
谢谢你,如果我在这个问题上做错了什么,我很抱歉,我是新人,哈哈。
DROP TABLE Bok;
CREATE TABLE Bok (
BokID number(3) NOT NULL PRIMARY KEY,
Appdate varchar2(4),
Apptime varchar2(5) DEFAULT 'hello'
);
最佳答案
为了默认工作,插入查询必须使用DEFAULT
关键字或跳过该列
INSERT INTO Bok(BokID, Appdate, appTime)
VALUES (1, 'a', DEFAULT);
INSERT INTO Bok(BokID, Appdate)
VALUES (1, 'a');
当 DEFAULT ON NULL
时,还有一个选择定义为:
CREATE TABLE Bok (
BokID number(3) NOT NULL PRIMARY KEY,
Appdate varchar2(4),
Apptime varchar2(5) DEFAULT ON NULL 'hello'
);
INSERT INTO Bok(BokID, Appdate, appTime)
VALUES (1, 'a', NULL);
关于sql - DEFAULT 约束在 SQL Oracle 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65314450/