我有 250 个左右的表 (mysql),除了索引之外,它们都共享完全相同的结构。其中一个表具有所有正确的、当前的和最新的索引,我想将该索引结构传播到其他 249 个表。
我发现搜索的所有内容都是关于复制表及其内容和索引结构,这是我不想做的(每个表中的数据不同,只有结构相同),或者创建一个新表具有相同的结构,我也不想这样做。
我希望有一种方法可以使用 ALTER TABLE 来告诉 mysql 模仿正确表的表结构并将其应用于另一个表,优化表,然后通过 php 脚本运行这些命令以应用于所有 249 个表,但我不知道是否有 ALTER TABLE 命令可以执行此操作。
有什么建议吗?
请您参考如下方法:
在“好”表上运行SHOW CREATE TABLE [table_name]
。复制索引行并在脚本中使用这些行为每个其他表运行等效的 ALTER TABLE CREATE INDEX
。
如果您希望整个过程完全自动化,您必须从 SHOW INDEXES
或 SHOW CREATE TABLE
调用中解析索引定义。但我假设您只需要运行一次,因为这是一种奇怪的情况。