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

Я столкнулся с проблемой с внешним ключом 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 ответ

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

Другие вопросы по тегам