这是我在SQL中的编码:
CREATE TABLE TICKET (
TICKET_NO NUMBER,
VENUE_NO VARCHAR(3),
TICKET_DATE DATE,
TICKET_PRICE NUMBER(8,2),
PRIMARY KEY (TICKET_NO),
CONSTRAINT TICKET_VENUE_NO_FK
FOREIGN KEY (VENUE_NO) REFERENCES VENUE
);
这是错误陈述:
Error starting at line 1 in command:
CREATE TABLE TICKET (
TICKET_NO NUMBER,
VENUE_NO VARCHAR(3),
TICKET_DATE DATE,
TICKET_PRICE NUMBER(8,2),
PRIMARY KEY (TICKET_NO),
CONSTRAINT TICKET_VENUE_NO_FK
FOREIGN KEY (VENUE_NO) REFERENCES VENUE)
Error at Command Line:8 Column:13
Error report:
SQL Error: ORA-02267: column type incompatible with referenced column type
02267. 00000 - "column type incompatible with referenced column type"
*Cause: The datatype of the referencing column is incompatible with the
我的编码有什么问题?
答案 0 :(得分:2)
您需要确保TICKET.VENUE_NO
列和VENUE.VENUE_NO
列之间的数据类型匹配。
答案 1 :(得分:1)
检查VENUE表中的VENUE_NO字段与此表中的类型相同,即VARCHAR(3)。
答案 2 :(得分:0)
通常在FOREIGN KEY (attr1) REFERENCES attr2
中看到。您需要检查引用的数据类型,它应与上表相同。例如varchar
和char
。
答案 3 :(得分:-1)
这可能是由于数据类型不对应。确保 venue_no
在两个表中具有相同的类型。