我试图使用以下脚本创建一组表:
DROP TABLE ORDERS IF EXISTS;
DROP TABLE INVOICE IF EXISTS;
CREATE TABLE ORDERS(
ORDER_ID BIGINT NOT NULL PRIMARY KEY IDENTITY,
...
INVOICE_ID BIGINT,
...
);
CREATE TABLE INVOICE(
INVOICE_ID BIGINT NOT NULL PRIMARY KEY IDENTITY,
...
ORDER_ID BIGINT,
...
FOREIGN KEY(ORDER_ID) REFERENCES ORDERS(ORDER_ID)
);
ALTER TABLE ORDERS ADD FOREIGN KEY(INVOICE_ID) REFERENCES INVOICE(INVOICE_ID);
这会导致sql异常
java.sql.SQLException:被 FOREIGN KEY 约束引用:PUBLIC.INVOICE.SYS_FK_10079 在语句 [DROP TABLE ORDERS IF EXISTS]
我不知道如何解决这个问题..我需要 ORDERS 表中的 invoiceId 和 INVOICE 表中的 OrderID 作为外键..这就是我使用 ALTER TABLE 语句的原因..仍然,它似乎是错误的..(顺便说一句,我是使用 hsqldb)
我想知道如何正确地做到这一点..欢迎任何帮助..