Skip to main content
 首页 » 编程设计

mysql之如何将索引从一个相同的表复制到另一个现有的相同表

2024年02月25日19artech

我有 250 个左右的表 (mysql),除了索引之外,它们都共享完全相同的结构。其中一个表具有所有正确的、当前的和最新的索引,我想将该索引结构传播到其他 249 个表。

我发现搜索的所有内容都是关于复制表及其内容和索引结构,这是我不想做的(每个表中的数据不同,只有结构相同),或者创建一个新表具有相同的结构,我也不想这样做。

我希望有一种方法可以使用 ALTER TABLE 来告诉 mysql 模仿正确表的表结构并将其应用于另一个表,优化表,然后通过 php 脚本运行这些命令以应用于所有 249 个表,但我不知道是否有 ALTER TABLE 命令可以执行此操作。

有什么建议吗?

请您参考如下方法:

在“好”表上运行SHOW CREATE TABLE [table_name]。复制索引行并在脚本中使用这些行为每个其他表运行等效的 ALTER TABLE CREATE INDEX

如果您希望整个过程完全自动化,您必须从 SHOW INDEXESSHOW CREATE TABLE 调用中解析索引定义。但我假设您只需要运行一次,因为这是一种奇怪的情况。