mysql创建外键要求比较严格,严格到有时候你找不到到底哪里错了。
1.检查你的表是不是都是INNodb类型的,只有这种类型才可以创建外键。
2.检查字段名是不是有错误。
3.检查字段类型,最好一样。
4.比较隐蔽,检查字符集,为了迁移和使用的方便,尽量使用UTF8
5.上面的都检查了?那么我估计你的在创建久表的时候用的字符集与新表不同,如果我的新表用的字符集是UTF8,那么即使你把数据库的这些字符集全部设置成UTF8你的久表字段字符集依然不会改变(要是你有特殊限定的话),那就需要你对久表的所有字段进行字符集的更换
做到以上五点,应该不会存在错误了- -。。。。至少我是没碰到其他问题了
相关文章
- 08-19清空具有外键约束的表时报ERROR 1701(42000)的解决
- 08-19Python之SQLAlchemy学习--外键约束问题
- 08-19VS中提示:未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值
- 08-19EntityFramework Code First 构建外键关系,数据库不生成外键约束
- 08-19添加外键约束
- 08-19Hibernate生成表关联只生成索引未生成外键问题?
- 08-19code first 添加外键时,与原有的数据冲突ALTER TABLE 语句与 FOREIGN KEY 约束"FK_XXXXX"冲突
- 08-19Debian下Vi编辑器的方向键和退格键失灵的问题
- 08-19tortoise-orm下pydantic_model_creator 外键字段丢失
- 08-19--sql语句创建表的同时添加外键约束