gpt4 book ai didi

mysql - 是否有任何工具可以帮助将 innoDB 表转换为 mysql 集群的 NDB 表?

转载 作者:行者123 更新时间:2023-11-30 23:41:05 26 4
gpt4 key购买 nike

是否有任何工具可以帮助将 innoDB 表转换为 NDB 表?我想要一个工具帮助通过触发器替换所有外键。我是否必须为每个 FK 手动执行此操作?

最佳答案

不知道有没有工具可以让你做到这一点。

您总是可以用 [您最喜欢的脚本语言] 编写脚本来完成它。

它会像这样工作:

(注意。我假设每个表都是 InnoDB 并且你想转换所有的表。我还假设你的数据库中没有 View 。如果你有 View ,那么你必须发出 SHOW FULL TABLES 而不是只处理表类型表明它不是 View 的那些行。此外,这不会摆脱与外键关联的索引 - 如果您没有,则需要手动执行此部分不再需要所有索引。另外,在你做任何事情之前备份你的数据库!尽管这是不言而喻的。)

  1. 创建一个空数组/列表/任何东西,$foreign_keys
  2. 发行 SHOW TABLES
  3. 对于显示的每个表:
    • 发出 SHOW CREATE TABLE 表名
    • 使用正则表达式搜索 /CONSTRAINT `(.+)` FOREIGN KEY/
    • 对于每场比赛,
      • 将同一行外键的详细信息添加到数组 $foreign_keys;
      • 发出一个DROP FOREIGN KEY语句
  4. 对于每个表,发出 ALTER TABLE tablename ENGINE=NDB
  5. 对于数组 $foreign_keys 中的每个条目,发出一个 CREATE TRIGGER 语句

也许确实有工具可以为您完成此操作,但另一方面,如果您不想手动执行此操作,这可能是您需要执行的操作。

关于mysql - 是否有任何工具可以帮助将 innoDB 表转换为 mysql 集群的 NDB 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2972192/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com