-- -- 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;
相关推荐
帮助您学会增加外键,在建表的时候没有加外键在之后加的方法
MySQL通过外键约束来保证表与表之间的数据的完整性和准确性。 外键的使用条件: 1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持); 2.外键列必须建立了索引,...
MySQL SQL高级特性 字段约束-索引-视图-外键学习实践,很不错
创建索引会占用额外的存储空间,并且在插入、更新和删除数据时,需要维护索引的结构,这会带来一定的性能开销。 2. 主键(Primary Key): 主键是数据库表中用于唯一标识每一行数据的列或一组列。主键的值不能重复...
外键列和参照列必须创建索引,如果外键列不存在索引,mysql将自动创建索引。 一、SQL语句创建数据表并设置主外键关系 create table demo.ChineseCharInfo ( ID int not null auto_increment, Hanzi varchar(10) ...
MySQL通过外键约束来保证表与表之间的数据的完整性和准确性。 2.外键的使用条件 两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持) 外键列必须建立了索引,MySQL ...
使用eclipse获取mysql数据库中的表结构以及主外键
MySQL高级特性字段约束-索引-视图-外键学习实践PDF文档;
最近有开始做一个实验室管理系统,因为分了几个表进行存储·所以要维护表间的关联··研究了一下MySQL的外键。 (1)只有InnoDB类型的表才可以使用外键,mysql默认是MyISAM,这种类型不支持外键约束 (2)外键的好处...
Mysql数据库如何删除某一个数据库的所有外键并不删除相应的索引,一个sql脚本解决,无需知道外键的名称。
本文介绍在在MySQL数据库中定义数据表、设置索引、定义外键、级联等操作。
NULL 博文链接:https://littlevine.iteye.com/blog/2334541
下面是主键和索引的一些区别与联系。 1. 主键一定是唯一性索引,唯一性索引并不一定就是主键。 所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引。因为主键可以唯一...
2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立;3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,...
3、查询中作为与其他表关联的字段(外键) 4、查询中常作为查询排序条件的字段 这里要注意,order by的字段出现在where条件中才能使用索引,否则索引失效。 5、查询中的统计、分组字段 group by和union也属于需要...
MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引。在创建索引的时候,可以指定在删除、更新父表时,对子表进行的相应操作,包括...
MySQL的模式同步mysql表结构自动同步工具将用于线上数据库结构变化同步到本地环境!支持功能:同步新表同步轴向变动:添加...默认情况不会对多出的表,分段,索引,外键删除。如果需要删除细分,索引,外键可以使用-dr
关联2张表时出现了无法创建外键的情况,从这个博客看到,问题出在第六点的Charset和Collate选项在表级和字段级上的一致性上。我的2张表的编码charset和collate不一致,2张表都执行执行SQL语句: alter table 表名 ...
2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立; 3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,...
5.5维护索引和表187 5.5.1找到并修复损坏的表187 5.5.2更新索引统计信息188 5.5.3减少索引和数据的碎片190 5.6总结192 第6章查询性能优化195 6.1为什么查询速度会慢195 6.2慢查询基础:优化数据访问196 ...