当前位置: 首页 > 知识库问答 >
问题:

无法从MySQL中的标题列中创建外键

单于骁
2023-03-14

我正在尝试创建外键。

这两个表中的列都是VARCHAR(255),而PK也不是,但是我不断得到这样的错误消息:

我不知道如何把主题标题和帖子的topic_title做一个fk。

谢谢你的帮助,非常需要。

安娜,祝你有个愉快的一天

共有1个答案

周浩博
2023-03-14

只将外键定义为主键。这只是一种最佳做法。

但是,为了在MySQL中添加外键,您需要将引用表中的列声明为主键、unique或使用索引。我强烈劝阻你不要随便使用任何钥匙。至少它应该是唯一的。但最好是主键。

 类似资料:
  • 我在创建mysql数据库中现有表的外键时遇到了一些问题。 我不想创建一个名为的新表来引用它,使用以下方法: 但我发现了错误: 为了获得更多的信息,我做了: 在我看来,这两个列的类型似乎是匹配的,因为它们都是varchar(45)。(我还尝试将列设置为not null,但这没有解决问题)所以我猜问题一定是。但我不太清楚这意味着什么,也不知道如何检查/修复它。有人有什么建议吗?是什么意思?

  • 我在表中添加了一列(下面的查询) 现在我想删除这个专栏(fk_job_id)。我尝试了这些查询,但它们给出了错误。 第一个Alter语句给出的错误为-(但该列存在)。 第二个Alter语句给出错误,因为-

  • 我正在从事一个项目,我正在使用laravel 5.8。这里我想创建一个外键。我试了很多次,但每次都收到一条关于迁移时间的错误消息。有三个表一个是行业,是小学和学生,这些是第二个表。我想在这两个辅助表trade_id上创建一个外键作为键的名称。 这是交易表(主表)。 这是学生表(辅助表)。 这是放置表(辅助表)。 在迁移时出现错误。

  • 我有两张这样桌子: 和 我想为..设置外键,但我遇到了以下错误: ALTER TABLE语句与FOREIGN KEY约束“tblPerson_GenderID_FK”冲突。冲突发生在数据库“示例”、表“dbo.tbl性别”、列“id”中。

  • 本文向大家介绍MySQL无法创建外键的原因及解决方法,包括了MySQL无法创建外键的原因及解决方法的使用技巧和注意事项,需要的朋友参考一下 关联2张表时出现了无法创建外键的情况,从这个博客看到,问题出在第六点的Charset和Collate选项在表级和字段级上的一致性上。我的2张表的编码charset和collate不一致,2张表都执行执行SQL语句: 完美解决问题; ps:下面看下MySQL无法

  • 我试图创建自己的HTTPS服务器,我有两个代码片段: $curl-k-vvv https://example.org:443*重新构建URL到:https://example.org:443/*不支持名称查找超时*尝试127.0.0.1...*连接到example.org(127.0.0.1)端口443(#0)*ALPN,提供HTTP/1.1*密码选择:all:!导出:!导出40:!导出56:!a