www.gsyw.net > SQL什么是外键?如果有AB两个表,B表中的字段引用了A表中的主键,这个主键是B表外键吗?

SQL什么是外键?如果有AB两个表,B表中的字段引用了A表中的主键,这个主键是B表外键吗?

常用办法1delete from B where B.外键=x;delete from A where A.ID=x;办法2(现在用的人少了):建立触发器,再删除A中数据的同事删除B表中的满足条件的数据办法3:在为B表创建外键约束的时候指定练级删除,删除A表中的记录时,系统

不可以,外间引用的时候必须被引用的主键都存在.你这样岂不是乱套了?A表B表必定创建有个顺序的

看你设计,b对象是a对象的一个属性.sql: select * from a a left join b b on b.bid=a.bidhql: from a a left join a.b c where a.b.bid=c.bid;

外键约束因为,可能你插入的B表中的a,在A表并没有对应值吧也可能是B表重复了

不能,因为外键必是唯一的,但其中的一个字段不一定是唯一的.所以会报错!

select distinct A.* from A,B where A.Id = B.AId order by b.Time

不明白啊 = =!

SELECT A.id, B_1.name AS bid1, B_2.name AS bid2, B_3.name AS bid3, A.qita1, A.qita2FROM A INNER JOIN B AS B_1 ON A.bid1 = B_1.id INNER JOIN B AS B_2 ON A.bid2 = B_2.id INNER JOIN B AS B_3 ON A.bid3 = B_3.id

你插入A表和B表的数据,分别得到自动增长列a和b的值,然后插入到C表就可以了.

create table a (a int, b int ,primary key (a,b))create table b (c int, d int , constraint foreign key (c) references a(a), constraint foeign key (d) references a(b)

相关搜索:

网站地图

All rights reserved Powered by www.gsyw.net

copyright ©right 2010-2021。
www.gsyw.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com