ORA-00904: "INSURER_NO": 无效标识符

Posted

技术标签:

【中文标题】ORA-00904: "INSURER_NO": 无效标识符【英文标题】:ORA-00904: "INSURER_NO": invalid identifier 【发布时间】:2016-06-01 12:09:15 【问题描述】:

使用 Oracle 数据库 11g 快捷版

这将创建我的 Car_Asset 表:

CREATE TABLE Car_Asset

(Car_No SMALLINT,

Registration_No CHAR(16),

Mileage INTEGER,

Date_MOT_Due  DATE,

Condition  VARCHAR(20),

CONSTRAINT car_pk PRIMARY KEY (Car_No,Registration_No));

这将创建我的 Insurer 表:

CREATE TABLE Insurer

(Insurer_No SMALLINT,

Insurer_Name VARCHAR(50),

Insurer_Address VARCHAR(100),

CONSTRAINT ins_pk PRIMARY KEY (Insurer_No));

我想在 Car_Asset 表中添加 Insurer_No 作为外键

这是我得到 ORA-00904 的地方:“INSURER_NO”:无效标识符:

ALTER TABLE Car_Asset

ADD CONSTRAINT Car_Ins_fk 

FOREIGN KEY (Insurer_No) 

REFERENCES Insurer(Insurer_No);

【问题讨论】:

【参考方案1】:

添加约束不会添加列。所以要么将Insurer_No 添加到表中,要么使用alter table

alter table add insurer_no smallint;

然后就可以添加约束了。

【讨论】:

以上是关于ORA-00904: "INSURER_NO": 无效标识符的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 'ORA-00904: "Y": invalid identifier 00904. 00000 - "%s: invalid identifier"

SQL 错误 [904] [42000]:ORA-00904:“SPAREBOX”:无效标识符 [重复]

ORA-00904: 无效标识符 00904. 00000 - "%s: 无效标识符"

ORA-00904: "FORMAT": 无效标识符

ORA-00904: "CEILING": ORACLE 11G 中的标识符无效

ORA-00904: "DAYS": 无效标识符