ORA-02267:列类型与引用的列类型不兼容

时间:2017-05-24 08:57:15

标签: sql oracle

这是我在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

我的编码有什么问题?

4 个答案:

答案 0 :(得分:2)

您需要确保TICKET.VENUE_NO列和VENUE.VENUE_NO列之间的数据类型匹配。

答案 1 :(得分:1)

检查VENUE表中的VENUE_NO字段与此表中的类型相同,即VARCHAR(3)。

答案 2 :(得分:0)

通常在FOREIGN KEY (attr1) REFERENCES attr2中看到。您需要检查引用的数据类型,它应与上表相同。例如varcharchar

答案 3 :(得分:-1)

这可能是由于数据类型不对应。确保 venue_no 在两个表中具有相同的类型。