gpt4 book ai didi

mysql - 是否有 MySQL 命令删除除 PRIMARY 索引之外的所有索引?

转载 作者:行者123 更新时间:2023-11-29 01:04:30 25 4
gpt4 key购买 nike

我有一个包含一个索引的数据库表,其中键名为 PRIMARY,类型为 BTREE,唯一为 YES,Packed 为 NO,列为 ID,基数为 728,排序规则为 A。

我有一个在页面加载时运行的脚本,它向 MySQL 数据库表中添加条目并从数据库表中删除重复项。

下面是删除重复项的脚本部分:

// Removes Duplicates from the MySQL Database Table

// Removes Duplicates from the MySQL Database Table based on 'Entry_Date' field
mysql_query("Alter IGNORE table $TableName add unique key (Entry_Date)");

// Deletes the added index created by the Removes Duplicates function
mysql_query("ALTER TABLE $TableName DROP INDEX Entry_Date");

使用上面的 Remove Duplicates 命令,一个额外的索引被添加到表中。下一行命令假设删除这个添加的索引。

问题是,有时由 Removes Duplicates 命令创建的添加索引不会被以下 Delete added index 命令删除,因此会有更多索引添加到表中。在我手动删除添加的索引之前,这些额外的索引会阻止脚本向数据库添加额外的数据。

我的问题:有没有我可以添加到脚本中的命令或短函数来删除除本文开头提到的原始索引之外的所有索引?

我确实阅读了以下帖子,但我不知道这是否是要使用的正确脚本: How to drop all of the indexes except primary keys with single query

最佳答案

我不这么认为,您可以做的是创建副本,但不会复制索引。例如,如果你让create table1 as (select * from table_2),他将复制但没有索引或 PK。

关于mysql - 是否有 MySQL 命令删除除 PRIMARY 索引之外的所有索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10180653/

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