SimpleDao
MySQL外键约束关系说明
2019-05-06, 访问数: 1177

说明

MySQL有两种常用的引擎类型:MyISAM和InnoDB,目前只有InnoDB引擎类型支持外键约束。

  1. ALTER TABLE tbl_name
  2. ADD [CONSTRAINT [symbol]] FOREIGN KEY
  3. [index_name] (index_col_name, ...)
  4. REFERENCES tbl_name (index_col_name,...)
  5. [ON DELETE reference_option]
  6. [ON UPDATE reference_option]

约束关系

  1. CASCADE:在父表上update/delete记录时,同步update/delete掉子表的匹配记录
  2. SET NULL:在父表上update/delete记录时,将子表上匹配记录的列设为null (要注意子表的外键列不能为not null)
  3. NO ACTION:如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作
  4. RESTRICT:同no action, 都是立即检查外键约束
  5. mysqlNO ACTION == RESTRICT