这个问题在这里已有答案:
ALTER TABLE BAND添加约束fk1_BAND_to_VENUE FOREIGN KE ORA-00905:缺少关键字
我如何解决这个问题,这个sql是用EDR图中的Q SEE应用程序创建的。我不认为SQL语法是错误的。
- 更改表以添加实现“BAND_FESTIVAL”关系所需的新约束
- 此约束确保表“BAND”的外键 - 正确引用表“FESTIVAL”的主键
ALTER TABLE BAND
ADD CONSTRAINT fk2_BAND_to_FESTIVAL
FOREIGN KEY(fk2_Festival_ID) REFERENCES FESTIVAL(Festival_ID)
ON DELETE RESTRICT ON UPDATE RESTRICT;
- 更改表以添加实现“工作”关系所需的新约束
- 此约束确保表“STAFF”的外键 - 正确引用表“FESTIVAL”的主键
ORA-00905表明这是Oracle。 12c constraint documentation说ON DELETE的唯一有效选项是
根本没有ON UPDATE(因此 - 也没有选项)。
但是,这些选项对MySQL有效。
因此,@ sarthak sthapit会下定决心 - 如果您使用的是Oracle,请使用其语法;如果您使用的是MySQL,请使用其语法。它们是部分兼容的,但并不总是(如您所见)。