foreign key 很重要吗?
不设置可以不

解决方案 »

  1.   

    1、foreign key是为了约束与主表之间的数据一致性,避免垃圾数据的产生,
    2、当然可以不设置,只要程序逻辑是正确的就行。
      

  2.   

    MYSQL 外键定义 
    建立外键的前提: 本表的列必须与外键类型相同(外键必须是外表主键)。 外键作用: 使两张表形成关联,外键只能引用外表中的列的值! 指定主键关键字: foreign key(列名) 引用外键关键字: references <外键表名>(外键列名) 事件触发限制: on delete和on update , 可设参数cascade(跟随外键改动), restrict(限制外表中的外键改动),set Null(设空值),set Default(设默认值),[默认]no action 例如: outTable表 主键 id 类型 int 创建含有外键的表: 
    create table temp( 
    id int, 
    name char(20), 
    foreign key(id) references outTable(id) on delete cascade on update cascade); 说明:把id列 设为外键 参照外表outTable的id列 当外键的值删除 本表中对应的列筛除 当外键的值改变 本表中对应的列值改变。
      

  3.   

    除了可以用 constraint table1FK  foreign key(外键)reference table2(主键)设置外键,还可以其他方式设置吗?