SQL ORA-02291: нарушение целостности - родительский ключ не найден - PullRequest
0 голосов
/ 07 апреля 2020

Я столкнулся с некоторой проблемой с SQL внешним ключом.

Вот моя таблица и вставьте SQL.



create table passenger_card2
(
    phone char(20) primary key,
    name char(20)
);

create table card
(
    card_num char(20) primary key,
    balance number(10,2),
    cvn char(20) 
);

create table passenger_card1
(
    sin integer primary key,
    user_id char(20) not null unique,
    phone char(20),
    card_num char(20) unique,
    foreign key(phone) references passenger_card2,
    foreign key (card_num) references card
);

А вот мои INSERT операторы:

INSERT INTO PASSENGER_CARD2 VALUES ( '111222333' , 'Ace');
INSERT INTO CARD VALUES ( '1000' , '100.1' , '110');
INSERT INTO PASSENGER_CARD1 VALUES ('100', 'aaaa', '111222333', '1000');

Однако при попытке вставить данные PASSENGER_CARD1 появляется ошибка:

SQL ORA-02291: нарушение целостности - родительский ключ не найден

Я не уверен, почему мой внешний ключ неверен?

1 Ответ

0 голосов
/ 07 апреля 2020

Я не уверен, что это будет правильно, но вы должны составить таблицу 2, прежде чем создавать первую таблицу. База данных перепутана, потому что не имело бы смысла говорить им, что во второй таблице будет внешний ключ, но таблица не создана. Сначала запустите код для второй таблицы, а затем запустите код для первой таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...