java Derby外键

8mmmxcuj  于 2023-06-04  发布在  Java
关注(0)|答案(1)|浏览(115)

大家好,日安.我有表“T1”,有主键“ID”和另一个表“T2”,有外键“T1ID”引用从主键“ID”,我的问题是外键不显示任何记录,我插入从主键“ID”,它应该显示的数据记录我插入的主键。

这是我执行的生成外键的代码:

Alter table T2 add FOREIGN KEY (T1ID) references T1(ID);

请帮助并提前感谢您。
外键“T1ID”应该显示我在主键“ID”中插入的记录的数据

yyyllmsg

yyyllmsg1#

我想你误解了what a foreign key is和它的作用。外键不会“显示任何记录”或“显示数据”。使用SQL SELECT语句来显示记录和数据。
外键是完整性约束,它指示数据库引擎强制执行某些完整性规则。外键告诉数据库它应该在两个表之间强制建立关系。在本例中,具体地说,就是告诉数据库强制t2.t1id列中的值的有效性。
因此,数据库将确保对于t2中的每一行,该行的t2.t1id中的值是t1中某行的t1.id的值。
然后数据库将执行以下操作:

  • 拒绝让您在t2中插入值为t2.t1id的行,该值在t1中的任何行中都不存在
  • 如果t2中有任何行的t1id值与特定的t1.id值匹配,则拒绝让您从t1中删除该行。

相关问题