【问题标题】:Adding a foreign key to my table in SQL在 SQL 中向我的表添加外键
【发布时间】:2013-12-07 21:19:41
【问题描述】:

我有问题

create table REALESTATE (
reale_id        integer,
agents_id       integer not null,
listing_id      integer not null,
primary key (reale_id)
);

*表已创建*

create table AGENTS (
 agents_id  integer,
agents_name  char(10) not null,
agents_lname char(20) not null,
listing_id  integer,
customer_id integer,
reale_id    integer, 
primary key (agents_id),
foreign key (customer_id) references AGENT (customer_id),
foreign key (reale_id) references REALESTATE (reale_id)
);

第 9 行的错误: ORA-00942: 表或视图不存在

create table CUSTOMER (
customer_id     integer,
customer_name   char(6) not null,
customer_lname  char(15) not null,
agents_id       integer,
primary key (customer_id),
foreign key (agents_id) references AGENTS (agents_id)
);

第 7 行出现错误:ORA-00942:表或视图不存在

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    在代理的创建表中,您有这一行。

    foreign key (customer_id) references AGENT (customer_id),
    

    但是,表代理不存在。此时仅存在表房地产。这意味着没有创建表代理,这会导致表客户出现问题。

    【讨论】:

      【解决方案2】:

      表名是 AGENTS 而不是 AGENT。

      foreign key (customer_id) references AGENT (customer_id), 更改为foreign key (customer_id) references AGENTS (customer_id),

      【讨论】:

        【解决方案3】:

        AGENTS 未创建,因为它引用了一个名为 AGENT 的表(请参阅缺少的 S),该表不存在。由于AGENTS 的创建失败,您无法创建CUSTOMERS,因为它还引用了AGENTS,而该AGENTS 没有被创建(由于之前的错误)。

        在表AGENTS:使用references AGENTS (customer_id)

        【讨论】:

          猜你喜欢
          • 2022-08-22
          • 1970-01-01
          • 2019-01-11
          • 2015-10-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多