默认约束在 SQL Oracle 中不起作用?

DEFAULT constraint not working in SQL Oracle?

我试图获得一个约束(这只是测试代码)但是当我添加数据(完成整个 table)和 运行 它时省略了 Apptime 数据在 table 中它不会默认为 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);