php – 如何为mysql制作DROP INDEX IF EXISTS?
发布时间:2020-12-13 16:05:45 所属栏目:PHP教程 来源:网络整理
导读:我想在 mysql中使用选项IF EXISTS进行DROP INDEX,但我发现没有任何东西可以使它工作. DROP INDEX IF EXISTS index_name ON table_name; 有人有任何暗示吗? 解决方法 我没有看到任何使用IF EXISTS直接进入DROP INDEX的方法. 作为一种解决方法,我编写了以下过
我想在
mysql中使用选项IF EXISTS进行DROP INDEX,但我发现没有任何东西可以使它工作.
DROP INDEX IF EXISTS index_name ON table_name; 有人有任何暗示吗? 解决方法
我没有看到任何使用IF EXISTS直接进入DROP INDEX的方法.
作为一种解决方法,我编写了以下过程,这对我有用. CREATE PROCEDURE `DropIndexIfExists`( IN i_table_name VARCHAR(128),IN i_index_name VARCHAR(128) ) BEGIN SET @tableName = i_table_name; SET @indexName = i_index_name; SET @indexExists = 0; SELECT 1 INTO @indexExists FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = @tableName AND INDEX_NAME = @indexName; SET @query = CONCAT ( ' DROP INDEX ',@indexName,' ON ',@tableName,' ' ); IF @indexExists THEN PREPARE stmt FROM @query; EXECUTE stmt; DEALLOCATE PREPARE stmt; END IF; END (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |