“请选择相同数量的来源和参考”在sqlyog上

发布于 2024-08-27 09:25:58 字数 155 浏览 5 评论 0原文

我试图通过 sqlyog 添加外键约束,并收到此错误,尽管我只选择一个源和一个参考列

请选择同等数量的来源 以及参考

有谁知道在这种情况下这意味着什么?请注意,我确实有相同数量的源列和参考列......

I am trying to add a foreign key constraint via sqlyog, and getting this error, although I am only select one source and one reference columns

please select equal number of source
and reference

Does anyone knows what it means in this case? Note that I do have an equal number of source and reference columns...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

薆情海 2024-09-03 09:25:58

我在 SQLYog v9.01 中遇到了同样的问题。错误消息具有误导性,并且错误的真正原因可能完全不同。

为了解决这个问题,我检查了以下内容:

  • 检查表引擎类型,应该都是 InnoDb
  • 检查目标表是否与源表不同。
  • 检查引用字段的数据类型、长度和字符集排序规则。
  • 如果表中已有数据,请检查其一致性。

例如,您应该从表 B 中删除与表 A 相关的所有不相关数据。

 DELETE target FROM B AS target LEFT JOIN A USING(id_A) WHERE A.id_A IS NULL
  • 最后,在我的例子中,我必须刷新表才能成功创建约束。

从查询窗口手动创建约束可以为您提供有关错误类型的更多信息。

只是提醒一下:

ALTER TABLE `B` ADD CONSTRAINT `FK_B` FOREIGN KEY (`id_A`) REFERENCES `A` (`id_A`) ON DELETE CASCADE ; 

祝你好运!

I came across the same issue with SQLYog v9.01. The error message is misleading and the real cause of an error can be totally different.

Things I checked to solve this are the following:

  • Check table engyne types, should be both InnoDb
  • Check if your target table is not the same as source.
  • Check datatypes, length and charset collation of referenced fields.
  • If you already have data in your tables check its consistency.

For example, you should remove all unrelated data from table B which relates to table A

 DELETE target FROM B AS target LEFT JOIN A USING(id_A) WHERE A.id_A IS NULL
  • Finally ones in my case I had to FLUSH tables to create my constraints successfully.

Manual constraint creation from Query window can give you more information on your error type.

Just a reminder:

ALTER TABLE `B` ADD CONSTRAINT `FK_B` FOREIGN KEY (`id_A`) REFERENCES `A` (`id_A`) ON DELETE CASCADE ; 

Good luck!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文