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

use*_*030 6 mysql indexing structure copy

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

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

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

有小费吗?

Mat*_*t S 5

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

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