sql外键约束实例
结论
当一个表A的列a为另一个表B的列b的外键时
- 如果A的列a中删除的值在B的b列中存在,执行被禁止
- 如果B的列b中插入的值在A中的a列中没有,执行被禁止
在Oracle中的测试
1.创建table cc 其中ID 是主键
2.在主键上插入数据,并测试主键唯一性
3.创建表 ccpre
4.建立外键约束,把ccpre中的u_id设为外键
5.外键性质测试
5.1在ccpre中插入u_id在cc表中不存在
cc表中id有以下两条:
在ccpre中插入一条数据u_id 为3的数据
5.2.删除cc表中的id=1的行,这行在ccpre中有u_id=1的表
5.3删除cc表中的id=2的行,这行在ccpre中没有u_id=2的表