【问题标题】:HeidiSQL has changed foreign keys and phpMyAdmin cannot see themHeidiSQL 更改了外键,phpMyAdmin 看不到它们
【发布时间】:2016-04-05 01:52:47
【问题描述】:

我使用 HeidiSQL 是因为我发现它比 PMA 更容易构建,但 PMA 有一个很好的基本图表工具。

我有一个名为 test2 的数据库。我想重命名它或理想地克隆它。遗憾的是看不到如何在 Heidi 中制作副本,但可以更改名称。一切都好。

但是当我进入 PMA 时,所有的外键都消失了。我看过,看不到是否有人遇到过这个问题。

我回到 Heidi,将其重命名为 test2: nothing doing。然后我停止并重新启动 MySQL,瞧一切都很好。

我尝试了 PMA 复制数据库功能 - 复制得很好,但没有 FK。停止并重新启动 mySQL 但不存在。

我已经有大约一年没有做任何数据库工作了。有一次,我从 Heidi 或 PMA 导出了一个中等大小的 newb 数据库,并记得在尝试重新导入数据库时​​浪费了很多天的恐惧。

(理想情况下,我会喜欢一种“安全”的方式,以安全的方式克隆 mySQL DB(包括 FK),以便在远程服务器上重新安装和/或在此处复制。正如我所说,我的经历非常糟糕。)


编辑:在 Heidi 中,我在 PMA 中复制的表具有所有 FK,但它们在 PMA 中不存在 - 由于缺少更强大的词,这似乎很奇怪!

话虽如此,FK 显示在图表中,但结构视图显示索引。

当我进入关系视图时,我得到:

这不应该显示到另一个表的链接吗???

如果我只使用 Heidi,是否有一个简单的数据库图表工具可以结合使用。我想我记得以前在 PMA 上遇到过可怕的问题,但它确实允许我复制 DB。

【问题讨论】:

  • 我在这里看到了类似的问题:github.com/phpmyadmin/phpmyadmin/issues/11798,其中 db 名称包含一个点,某些面板的 phpMyAdmin 不支持。
  • Marc 感谢似乎通过在 Heidi 中复制解决了当时的问题(见下文)。只是我认为需要 5 分钟但需要 3 小时的众多事情之一。
  • 这些表是什么表类型? phpMyAdmin 显示的是“内部关系”对话框而不是“外键约束”这一事实很奇怪。

标签: mysql phpmyadmin foreign-keys heidisql


【解决方案1】:

使用 HeidiSQL,您还可以复制数据库:

  • 创建空的目标数据库
  • 右键单击源数据库,单击将数据库导出为 SQL
  • 选择输出:数据库,然后选择您在步骤 1 中创建的数据库
  • 一定要检查 tables: createdata: insert
  • 点击导出

该导出还应该复制外键以及所有其他内容。

PMA 没有显示复制的外键这一事实在我看来就像 PMA 中的一个错误。您还可以使用第三个 MySQL 客户端检查外键,例如 MySQL Query Browser。

您也可以在此处发布您的表的 CREATE TABLE 语句,以便我可以尝试在此处重现该问题。

【讨论】:

  • Anse 对此表示感谢。昨晚发现的。可能会尝试复制一些东西,但现在,不知何故让它运行得很好,我落后了。我的墙上有一张便条。 “有趣吗?太好了!它是否有助于建立网站……不?然后 *** 忽略它并解决问题!!!”所以我有一个足够好的解决方案,如果需要的话可以求助于 Vertabello。非常感谢 v 的明确答案。
猜你喜欢
  • 1970-01-01
  • 2012-10-09
  • 2015-06-22
  • 1970-01-01
  • 2014-06-18
  • 1970-01-01
  • 1970-01-01
  • 2016-04-13
  • 2014-12-03
相关资源
最近更新 更多