我读过这个问题: MySQL 的默认 ON DELETE 行为是什么?它概述了不同选项的行为 - NO ACTION、RESTRICT、SET NULL 和 CASCADE 用于 MySQL 外键的更新/删除操作。
但是,还有另一种选择 - 只是空白。您可以将其设置为空白 - 它本身不是必填字段。
留空有什么作用?是否与将其设置为“NO ACTION”相同?
我读过这个问题: MySQL 的默认 ON DELETE 行为是什么?它概述了不同选项的行为 - NO ACTION、RESTRICT、SET NULL 和 CASCADE 用于 MySQL 外键的更新/删除操作。
但是,还有另一种选择 - 只是空白。您可以将其设置为空白 - 它本身不是必填字段。
留空有什么作用?是否与将其设置为“NO ACTION”相同?
InnoDB 外键处理的文档对此并不清楚。我还推测默认操作取决于引擎。
您很可能正在使用 InnoDB。
根据我自己的测试,不指定ON
外键的操作与 相同NO ACTION
,对于 InnoDB 也与RESTRICT
. 它确实改变了输出SHOW CREATE TABLE
。