我有一个数据库表,有一个索引,其中键名为 PRIMARY,类型为 BTREE,唯一为 YES,打包为 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");
使用上面的“删除重复项”命令,可以将附加索引添加到表中。下一行命令应该删除这个添加的索引。
问题是,有时由“删除重复项”命令创建的添加索引不会被以下“删除添加索引”命令删除,因此会向表中添加更多索引。这些附加索引会阻止脚本向数据库添加附加数据,直到我手动删除添加的索引。
我的问题:
是否有一个命令或简短函数可以添加到脚本中,以删除除本文开头提到的原始索引之外的所有索引?
我确实阅读了以下帖子,但我不知道这是否是正确使用的脚本:如何通过单个查询删除除主键之外的所有索引 https://stackoverflow.com/questions/7530103/how-to-drop-all-of-the-indexes-except-primary-keys-with-single-query
我不这么认为,您可以做的是创建副本,但这不会复制索引。例如如果你做
create table1 as (select * from table_2),他将进行复制,但没有索引或PK。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)