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, прежде чем создавать первую таблицу. База данных сбита с толку, потому что не имеет смысла сообщать им, что во второй таблице будет внешний ключ, но таблица не создана. Сначала запустите код для второй таблицы, а затем запустите код для первой таблицы.