外 键 的作用: 保持数据一致性,完整性,主要目的是控制存 储 在外 键 表中的数据。 使两 张 表形成关 联 ,外 键 只能引用外表中的列的 值 ! 例如: a b 两个表 a 表中存有 客 户 号,客 户 名称 b 表中存有 每个客 户 的 订单 有了外 键 后 你只能在确信 b 表中没有客 户 x 的 订单 后,才可以在 a 表中 删 除客 户 x 建立外 键 的前提: 本表的列必 须 与外 键类 型相同 ( 外 键 必 须 是外表主 键 ) 。 指定主 键 关 键 字: foreign key( 列名 ) 引用外 键 关 键 字: references < 外 键 表名 >( 外 键 列名 ) 事件触 发 限制 : on delete 和 on update , 可 设 参数 cascade( 跟随外 键 改 动 ), restrict( 限制外表中的外 键 改 动 ),set Null( 设 空 值 ) ,set Default ( 设 默 认值 ) ,[ 默 认 ]no action 例如: outTable 表 主 键 id 类 型 int 创 建含有外 键 的表:
Java 代 码
1. create table temp(
2. id int ,
3. name char ( 20 ),
4. foreign key(id) references outTable(id) on delete cascade on update cascade);
说 明:把 id 列 设为 外 键 参照外表 outTable 的 id 列 当外 键 的 值删 除 本表中 对应 的列 筛 除 当外 键 的 值 改 变 本表中 对应 的列 值 改 变 。