【问题标题】:phpmyadmin doesnt allow me to add primary/foreign key relationshipphpmyadmin 不允许我添加主/外键关系
【发布时间】:2012-05-15 17:01:04
【问题描述】:

即主表字段(tasks表):

task_id int(10)     UNSIGNED    No  None    AUTO_INCREMENT

这是我的外部表字段(url_error_stats 表):

task_id int(10)     UNSIGNED    No  None    

url_error_stats 没有提供“关系视图”选项来连接键..为什么?

SQL 查询:

ALTER TABLE url_error_stats 添加外键 (task_id) 参考aws_backlinks.tasks (

task_id) ON DELETE CASCADE ON UPDATE CASCADE ;

MySQL 说:

1452 - 无法添加或更新子行:外键约束 失败(aws_backlinks.,约束#sql-6f0_3bd_ibfk_1外键 (task_id) 参考tasks (task_id) 更新时删除级联 级联)

【问题讨论】:

    标签: php phpmyadmin


    【解决方案1】:

    另一个原因可能是表中不相关的数据。我的意思是你可能有一个在父表中不存在的外键。

    【讨论】:

    • 不知道为什么这被否决了,因为它是我问题的解决方案
    【解决方案2】:

    在此,单击 url_error_stats 表,然后在右侧它将显示所有字段列表,因此现在选中您想要成为外来的特定字段的复选框,然后单击链接 关系视图(由下面的 phpmyadmin 提供给带有蓝色超链接的表字段)。

    它将打开关系屏幕,您可以在其中选择主表的字段。 谢谢

    【讨论】:

      【解决方案3】:

      如果你想创建外键,你必须使用 innodb 并索引主键。我会推荐你​​使用 NAVICAT 。创建外键要容易得多,而且速度也很快。但有关快速 phpmyadmin 指南,请参阅

      Setting up foreign keys in phpMyAdmin?

      【讨论】:

      • 它适用于 innodb..但是请参阅我得到的错误的更新..当我连接并使用“删除时级联”时
      • 你先截断两个表吗?
      • 我需要两个都清空然后连接...hmm
      • 请注意不需要截断,请参阅@GarryOne 的回答。
      猜你喜欢
      • 2012-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多