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": 无效标识符的主要内容,如果未能解决你的问题,请参考以下文章