首页 > 数据库 > mysql教程 > MySQL 判断和删除目录和表外键

MySQL 判断和删除目录和表外键

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-07 16:27:17
原创
1123 人浏览过

MySQL 判断和删除索引和表外键 ---- Procedure Of Delete Index--DROP PROCEDURE IF EXISTS DEL_IDX;CREATE PROCEDURE DEL_IDX(IN P_TABLE_NAME varchar(200), IN P_IDX_NAME VARCHAR(200))BEGINDECLARE ST VARCHAR(250); SET @ST=CONCAT(' DROP INDEX ', P_I

MySQL 判断和删除索引和表外键
--
-- Procedure Of Delete Index
--
DROP PROCEDURE IF EXISTS DEL_IDX;
CREATE PROCEDURE DEL_IDX(IN P_TABLE_NAME varchar(200), IN P_IDX_NAME VARCHAR(200))
BEGIN
DECLARE ST VARCHAR(250);
  SET @ST=CONCAT(' DROP INDEX ', P_IDX_NAME, ' ON ', P_TABLE_NAME);
  SELECT count(*) INTO @CNT FROM information_schema.statistics WHERE table_name=P_TABLE_NAME and index_name=P_IDX_NAME;
  IF @CNT >0 THEN
    PREPARE stmt FROM @ST;
    EXECUTE stmt;
  END IF;
END;
CALL DEL_IDX('T_NAME, 'IDX_NAME');
DROP PROCEDURE IF EXISTS DEL_IDX;

--
-- Procedure Of Delete FK
--
DROP PROCEDURE IF EXISTS DEL_FK;
CREATE PROCEDURE DEL_FK(IN P_TABLE_NAME varchar(200), IN F_K_NAME VARCHAR(200))
BEGIN
DECLARE ST VARCHAR(250);
  SET @ST=CONCAT(' ALTER TABLE ', P_TABLE_NAME, ' DROP FOREIGN KEY ', F_K_NAME);
  SELECT COUNT(*) INTO @CNT FROM information_schema.key_column_usage WHERE table_name=P_TABLE_NAME and constraint_name=F_K_NAME;
  IF @CNT >0 THEN
    PREPARE stmt FROM @ST;
    EXECUTE stmt;
  END IF;
END;
CALL DEL_FK('T_NAM, 'FK_NAME);
DROP PROCEDURE IF EXISTS DEL_FK;
登录后复制

?

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
mysql 升级后无法重启mysql服务的问题
来自于 1970-01-01 08:00:00
0
0
0
linux安装mysql报错
来自于 1970-01-01 08:00:00
0
0
0
MySQL停止进程
来自于 1970-01-01 08:00:00
0
0
0
phpstudy不能启动mysql?
来自于 1970-01-01 08:00:00
0
0
0
mysql主主同步,从库不同步应该怎么解决?
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板