mysql - 无法在 MySQL 中创建关系

标签 mysql innodb relationship

涵盖了所有基础知识。

我已经在这个数据库中建立了很多关系。但是,它默默地拒绝在具有现有关系的表上创建新关系。

例如,当尝试在 FK_Scholarship 和奖学金.SCHOLARSHIP 之间创建关系时,设计器会出现错误

innodb

同等

innodb2

尝试通过命令提示符创建它会导致失败(无详细说明)

MySQL 几乎没有提供任何解决该问题的方法...

最佳答案

您遇到了一个非常烦人的问题。 Mysql 不允许在大于 255 字节的列上设置 FK(因为它无法为它们生成索引。Varchar 列可以每个“字符”使用多个字节来支持 UTF(某些字符集字符与字节之间的比例为 1-1) ,但不是全部)。

如果将长度更改为 85,应该可以正常工作。

您可能遇到的另一个问题是,在 mysql 中,您必须在 FK 列上有一个索引。如果不创建索引,mysql将不允许创建FK。

关于mysql - 无法在 MySQL 中创建关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31640791/

相关文章:

MySQL命令用于获取半径内且匹配相同类型的所有结果

php - xampp php文件上传错误

mysql - 临时锁定innoDB表

mysql - MySQL DB 中的外键约束给出错误

php - Phalcon:显示花哨的错误消息而不是标准异常

android - SQLDelight 关系

php - 搜索所有 php 加载速度很慢?

mysql - 优化具有时区转换和按小时分组的Mysql查询

laravel - Laravel 5 中的反向多态关系

associations - UML中的关联关系