Oracle与MySQL删除字段时对索引与约束的处理对照
2008-06-05 12:43:06 来源:WEB开发网我们执行同样的操作,先删除复合索引中的一个字段,然后删除约束中的一个字段。
mysql>altertabletestdropc;
QueryOK,0rowsaffected(0.58sec)
Records:0Duplicates:0Warnings:0
mysql>showindexfromtest;
+-------+------------+----------+--------------+-------------+-----------+
|Table|Non_unique|Key_name|Seq_in_index|Column_name|Collation|
+-------+------------+----------+--------------+-------------+-----------+
|test|0|PRIMARY|1|a|A|
|test|0|PRIMARY|2|b|A|
|test|1|ind_test|1|b|A|
+-------+------------+----------+--------------+-------------+-----------+
3rowsinset(0.06sec)
mysql>altertabletestdropb;
QueryOK,0rowsaffected(0.28sec)
Records:0Duplicates:0Warnings:0
mysql>showindexfromtest;
+-------+------------+----------+--------------+-------------+-----------+
|Table|Non_unique|Key_name|Seq_in_index|Column_name|Collation|
+-------+------------+----------+--------------+-------------+-----------+
|test|0|PRIMARY|1|a|A|
+-------+------------+----------+--------------+-------------+-----------+
1rowinset(0.03sec)
可以看到,mysql的处理方式是有差别的,mysql仅仅是把字段从索引中拿掉,而不是删除该索引。
本文的意思,就是想提醒大家,平常在做columns删除的时候,包括unused,一定要小心,是否有复合索引包含了该字段,否则,一不小心把索引删除了,可能将引发大的错误。
- ››Mysql高性能备份方案解决数据不间断访问
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››删除Win8自带中文输入法方法
- ››mysql 定时更新表字段列的值状态(存储过程+定时任...
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
赞助商链接