更新时间:2022-10-18 09:32:39
我不完全确定你的意思是错误的ID输入,但我假设你的意思是一个无效的ID,而不仅仅是一个错误(比如说有人在一个不同的城市,他们真正在哪里)。
外键约束意味着它们在 person
表中为 city_id
输入的值具有作为主键在 city
表中存在。他们不能把任何旧的值作为 city_id
,只有有效的值。如果不删除/更改 person
表中的引用,则相应的 city
行不能被删除(例如,更新为一个不同的有效值),或者 - 不太可能在这种情况下 - 级联删除,以便 city
的任何 person
被删除。
所以可以说你创建你的表格为:
create table city(id number primary key,code varchar2(2),name varchar2(30));
create table person(id number,name varchar2(30),last_name varchar2(30),
city_id number not null references city(id));
您在 city
表中有三条记录:
$ b $ pre $ insert into city(id,name)values(1,'New York');
插入city(id,name)值(2,'London');
插入城市(id,name)值(3,'Paris');
然后您可以添加一个 person
通过包括该城市的ID在纽约:
insert into person(id,name,last_name,city_id)
值(1,'Michael','Bloomberg',1);