CREATE TABLE RENTAL (
BOOK_DATE DATE DEFAULT SYSDATE NOT NULL CONSTRAINT BOOK_DATE_UK UNIQUE,
MEMBER_ID NUMBER(10) NOT NULL,
COPY_ID NUMBER(10) NOT NULL,
ACT_BET_DATE DATE DEFAULT (SYSDATE-2),
EXP_RET_DATE DATE,
TITLE_ID NUMBER(10),
CONSTRAINT RENTAL_PK PRIMARY KEY(BOOK_BATE,MEMBER_ID,COPY_ID,TITLE_ID),
CONSTRAINT MEMBER_ID_FK1 FOREIGN KEY(MEMBER_ID) REFERENCES MEMBER(MEMBER_ID),
CONSTRAINT COPY_ID_FK2 FOREIGN KEY(COPY_ID) REFERENCES TITLE_COPY(COPY_ID),
CONSTRAINT TITLE_ID_FK2 FOREIGN KEY(TITLE_ID) REFERENCES TITLE_COPY(TITLE_ID),
)
运行结果:
ORA-00904: : invalid identifier
这是一种让人抓狂的错误,列名不一致很难发现。
当然也如关键字不对,外表引用,多了一个逗号也会出现这样的错误,只是这些比较容易发出而已。