【问题标题】:Error in foreignkey table外键表错误
【发布时间】:2016-12-31 02:21:48
【问题描述】:

我使用 MySQL 工作台创建了数据库结构。当我做正向工程或同步模型时,它会显示一些错误。 当我删除外键或将 "INT" 作为外键连接到第二个表时,它工作正常。但我想使用 "Varchar(255)"。我们不能使用 "Varchar(255)" 作为外键吗?如果是这样,请帮助我解决此错误。我不能对这个表做正向工程师。

【问题讨论】:

  • 是的,你可以使用 varchar 作为外键。没有这样的约束
  • personal_detail 表中外键的另一部分在哪里?你知道,第二列?
  • @MridulKashyap 在注册表中,“id”是主键。在personal_details 表中,“reg_id”是外键,但是当我进行正向工程时,它会显示错误。
  • @Naruto 是的,我将注册表“id”设置为唯一并且工作正常。但是我想知道我们是否使用另一个表中的外键,它应该是该表中的主键还是唯一键?是必须的吗?
  • @acmsohail 必须有唯一约束。首选主键。

标签: mysql phpmyadmin mysql-workbench workbench


【解决方案1】:

是的,您可以使用 varchar 作为外键。为您的表添加唯一索引或唯一约束是合适的。但是,您的主键通常应该是一些“无意义”的值,例如自动递增的数字或 GUID。

【讨论】:

    猜你喜欢
    • 2022-01-16
    • 2014-12-07
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多