【发布时间】:2015-05-15 07:05:07
【问题描述】:
在实现我的 oracle 数据库时,我在 ON UPDATE 的第 8 行收到 ORA-00907 错误。它抱怨右括号,但我在任何地方都没有看到这个错误。我的问题是什么?
CREATE TABLE Result (
Rid number,
Hid number,
Jid number,
Jweight number(5),
Place number(3),
CONSTRAINT Result_PK PRIMARY KEY(Rid, Hid, Jid),
CONSTRAINT ResultRACE_FK FOREIGN KEY(Rid) REFERENCES Race(Rid) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT ResultHORSE_FK FOREIGN KEY(Hid) REFERENCES Horse(Hid) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT ResultJOCKEY_FK FOREIGN KEY(Jid) REFERENCES Jockey(Jid) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT Jweight_Check CHECK(Jweight > 0 AND Jweight < 116))
【问题讨论】:
-
Oracle 错误来自 Oracle 数据库,而不是 MySQL,所以我删除了 MySQL 标记。
-
"ON UPDATE CASCADE" 不受 Oracle 支持,这是 MySQL sintax。无论如何,这没有意义......父键不应该被更新。 community.oracle.com/thread/1116280
-
哦,我明白了。链接也很有帮助。谢谢!
标签: database oracle constraints create-table