外键无效标识符

Posted

技术标签:

【中文标题】外键无效标识符【英文标题】:Foreign Key invalid identifier 【发布时间】:2013-10-30 00:09:59 【问题描述】:

我正在尝试将外键添加到我的表中,但出现此错误,

第 3 行出现错误:ORA-00904:“DEDUCID”:标识符无效

ALTER TABLE pr_cust
ADD CONSTRAINT deduc_fk
FOREIGN KEY (deducid)
REFERENCES pr_deduc;

我有另一个名为 pr_deduc 的表,它有一个名为 deducid 的列,这是一个以一个值作为我的主键的字符。我把它拼写更正了,除非我遗漏了什么。

【问题讨论】:

【参考方案1】:

您提到的deducid 必须是pr_cust 上的列,并且您没有引用另一个表中的列。正确的语法是:

ALTER TABLE pr_cust
ADD CONSTRAINT deduc_fk
FOREIGN KEY (deducid)
REFERENCES pr_deduc(deducid);

【讨论】:

【参考方案2】:
ALTER TABLE pr_cust
ADD CONSTRAINT deduc_fk
FOREIGN KEY (deducid)
REFERENCES pr_deduc(deducid);

【讨论】:

以上是关于外键无效标识符的主要内容,如果未能解决你的问题,请参考以下文章

创建带有外键的表会出现错误 ORA-00904: : oracle 10g 中的无效标识符 [重复]

ORA-00904: 插入表时标识符无效

Oracle SQL 中更新语句中的标识符无效

Oracle DB - ORA-00904:选择时出现“无效标识符”错误

SQL - 外键错误

Oracle 中的外键创建问题