MySQL限制,不执行任何操作
MySQL FK中的MySQL限制,不执行任何操作,mysql,foreign-keys,cascade,Mysql,Foreign Keys,Cascade,MySQL FK中的RESTRICT和NO ACTION之间有什么区别?从医生看来,他们似乎完全一样。是这样吗?如果是这样,为什么两者都有?这是为了符合标准SQL语法。就像上面说的:(强调我的) 无操作:标准SQL中的关键字。在MySQL中,相当于RESTRICT。如果引用的表中存在相关的外键值,MySQL服务器将拒绝父表的删除或更新操作某些数据库系统具有延迟检查,并且没有操作是延迟检查。在MySQL中,会立即检查外键约束,因此没有操作与限制相同。 来自MySQL文档: 一些数据库系统已经推迟
RESTRICT
和NO ACTION
之间有什么区别?从医生看来,他们似乎完全一样。是这样吗?如果是这样,为什么两者都有?这是为了符合标准SQL语法。就像上面说的:(强调我的)
无操作:标准SQL中的关键字。在MySQL中,相当于RESTRICT。如果引用的表中存在相关的外键值,MySQL服务器将拒绝父表的删除或更新操作某些数据库系统具有延迟检查,并且没有操作是延迟检查。在MySQL中,会立即检查外键约束,因此没有操作与限制相同。
来自MySQL文档: 一些数据库系统已经推迟 检查,并且
无操作
是延迟操作
检查。在MySQL中,外键
立即检查约束条件,
因此,NO ACTION
与RESTRICT
相同
它们在MySQL中是相同的 在SQL 2003标准中,有5种不同的引用操作:
CASCADE
RESTRICT
NO ACTION
SET NULL
SET DEFAULT
NO-ACTION
和RESTRICT
之间的区别在于,根据标准,NO-ACTION
被延迟,而RESTRICT
立即动作