【发布时间】:2014-01-03 09:39:58
【问题描述】:
这可能是一个微不足道的问题,但在涉及外键约束时我仍然有点笨拙,所以我想确定一下。
假设我有一个表 countries 包含字段 country_id (PK) 和 name,还有一个表 cities 包含字段 city_id (PK)、name 和 country_id ( FK)。
外键cities.country_id 具有约束ON DELETE SET NULL。据我了解,这意味着如果删除来自countries 的记录,则cities 中引用该已删除记录的country_id 的任何记录都将其country_id 字段设置为NULL。
但是,如果cities.country_id 具有NOT NULL 属性怎么办?这会阻止外键约束正常工作吗?这样做是有道理的,但我只是想检查一下。
【问题讨论】:
-
简单的问题——你自己试过了吗?
-
我正在尝试,但我通常只是先发布一个问题,因为有时需要一段时间才能得到回复。此外,我还阅读了一些最初并未出现在建议列表中的类似问题,这些问题提供了一些见解。
标签: mysql sql foreign-key-relationship create-table notnull