【发布时间】:2020-07-19 18:50:53
【问题描述】:
我遇到了一些关于 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:违反完整性约束 - 未找到父键
我不知道为什么我的外键是错误的?
【问题讨论】:
-
工作正常。见demo
-
正如 Tejash 所说,它应该可以工作。删除所有内容并尝试以正确的顺序插入。