非常有趣的是,我不知道为什么在尝试使用 oracle 创建表时会收到 ORA-00904 无效标识符。
CREATE TABLE animals
(
CONSTRAINT animal_id NUMBER(6) PRIMARY_KEY,
name VARCHAR2(25),
CONSTRAINT license_tag_number NUMBER(10) UNIQUE,
admit_date DATE NOT NULL,
adoption_id NUMBER(5),
vaccination_date DATE NOT NULL
);
原文由 Zbarcea Christian 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Oracle 中使用
CREATE TABLE
创建表时,您至少有四种指定约束的方法。在线规格
具有显式约束名称的内联规范
外形规格
具有显式约束名称的大纲规范
如果您没有明确指定约束名称,它们将由系统自动生成,并读取类似
SYS_C0013321
的内容。我发现最后一种方式最易读,因为您可以看到创建了哪些约束,并且可以使用用户友好的名称来管理它们(例如使用视图user_constraints
)。顺便说一句,您的代码中有一个错字:您应该使用
PRIMARY KEY
而不是PRIMARY_KEY
。