【问题标题】:Error creating foreign key on "Column Name" (check data types)?在“列名”上创建外键时出错(检查数据类型)?
【发布时间】:2017-10-20 15:48:28
【问题描述】:

我是处理数据库的新手,特别是 MySQL,我使用“phpmyadmin”作为客户端,在这里我试图将“Attendance”表中的“section_year”列设置为@987654325 @ 到“section”表中具有相同名称“section_year”的另一列,它返回 ERROR MSG 总是说检查数据类型,尽管我检查得很好而且不止一次!

当我尝试用“Section_semester”做同样的事情时,也会出现同样的问题

以下 URL 将您链接到显示表格及其列的图像,并显示列 - 标有红色 - 在两个表格中具有相同的数据类型!

attendance table

section table

但是,我从出勤表创建了一个FOREIGN KEY 到同一个表,我打算向它添加更多FOREIGN KEY,没有任何错误消息。

那么,有什么帮助吗?!我做错了什么吗?!感谢高级家伙。

【问题讨论】:

    标签: mysql database phpmyadmin foreign-keys sqldatatypes


    【解决方案1】:

    天啊!!! 我刚刚尝试了一些东西,没有任何希望它会起作用,但是它对我有用并解决了问题!

    在我在关系 -FOREIGN KEY- 中使用的每一列中,我按下了它的表结构中的“索引”选项,然后按下了“ok”,之后我尝试在它们和事物之间添加一个外键没有任何错误信息就完成了。

    【讨论】:

      【解决方案2】:
      1. 从每个外键中删除主键和唯一键。
      2. 您的两个表都有很多主键和唯一键。

      键图片表示主键。其他名称相同但没有键的是外键。当它们之间没有关系时,您必须有 3 个表 One -> Many,就像这里一样。此外,您必须有表:教师和课程:

      Table: teachers
      teacher_id primary key
      name
      etc
      
      Table: courses
      course_id primary key
      name
      description
      etc
      

      【讨论】:

      • 怎么样?如果我将它们都从主键中删除,我无法在它们之间创建外键!
      • 在两个表中,您都有字段 section_year 和 section_semester,并且在两个表中,其字段都有主键和唯一键。它不可能是。只有在一个表中,表一中的字段可以是主要的和唯一的。在所有其他表中,它不能是 Primary 和 Uniques。
      • 另外,您的两个表都有很多主键和唯一键。在评论中,我会帮你整理。
      • 我们来谈谈表的关系。哪个表是 ONE,哪个表是 MANY?
      • @GhaidaMurrar 我将为您的数据库编写 SQL 并在此处提供链接。片刻。您的数据库中的所有内容都是错误的。
      猜你喜欢
      • 1970-01-01
      • 2020-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-04
      • 2014-03-06
      相关资源
      最近更新 更多