SQL - 外键错误

时间:2013-11-14 15:35:02

标签: sql oracle foreign-keys

当我尝试添加外键时出现此错误:

  

“ORA-00904:”BR_ID“:标识符无效”

create table Branch9
(br_id number NOT NULL,br_name varchar2(25) NOT NULL ,br_address varchar2(30),PRIMARY KEY(br_id))

create table Employee9
(emp_id number NOT NULL,emp_name varchar2(25) NOT NULL UNIQUE,emp_address varchar2(30),emp_age number,emp_dob date,emp_salary number,PRIMARY KEY(emp_id))

ALTER TABLE Employee9
ADD FOREIGN KEY (br_id) REFERENCES Branch9 (br_id);

是否有任何与NOT NULL约束相关的内容添加到br_id?

3 个答案:

答案 0 :(得分:1)

br_id需要是Employee9中的一列。

答案 1 :(得分:0)

br_id中没有Employee9列,是吗?:

create table Employee9 (
    emp_id number NOT NULL,
    emp_name varchar2(25) NOT NULL UNIQUE,
    emp_address varchar2(30),
    emp_age number,
    emp_dob date,
    emp_salary number,
    PRIMARY KEY(emp_id)
)

答案 2 :(得分:0)

br_id必须位于Employee9表中:

这是你添加它的方式:

ALTER TABLE Employee9 ADD br_id number NOT NULL;

然后你可以这样做:

ALTER TABLE Employee9 
    ADD CONSTRAINT fk_br_id FOREIGN KEY (br_id) REFERENCES Branch9 (br_id);