mysql为啥不能添加外键
时间: 2023-08-24 13:10:08 浏览: 86
MySQL可以添加外键,但是需要满足一些条件。首先,MySQL的存储引擎必须是InnoDB,因为只有InnoDB引擎支持外键约束。如果你的表使用的是其他存储引擎,如MyISAM,那么就无法添加外键。其次,你需要确保表之间的关联字段的数据类型和长度完全一致。另外,如果你要添加外键约束,被引用的表必须有一个主键或者唯一索引。如果你的表不满足这些条件,就无法添加外键约束。所以,如果你无法添加外键,可能是因为你的表使用的是不支持外键的存储引擎,或者表之间的关联字段不满足外键约束的条件。\[1\]\[2\]另外,虽然MySQL支持外键,但是有些人不推荐在关系型数据库中使用外键,因为MySQL的外键功能相对较弱,限制较多,不如其他数据库如SQL Server等功能强大。\[3\]
#### 引用[.reference_title]
- *1* *2* [MySQL数据库不能添加外键的原因和解决办法](https://blog.csdn.net/qq_51533157/article/details/120680354)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [mysql为何不建议使用外键](https://blog.csdn.net/qq_40631247/article/details/124141073)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文