WEB开发网
开发学院数据库Oracle Oracle与MySQL删除字段时对索引与约束的处理对照 阅读

Oracle与MySQL删除字段时对索引与约束的处理对照

 2008-06-05 12:43:06 来源:WEB开发网   
核心提示: 我们执行同样的操作,先删除复合索引中的一个字段,Oracle与MySQL删除字段时对索引与约束的处理对照(3),然后删除约束中的一个字段,mysql>altertabletestdropc;QueryOK,0rowsaffected(0.58sec)Records:0Duplicat

我们执行同样的操作,先删除复合索引中的一个字段,然后删除约束中的一个字段。

  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,一定要小心,是否有复合索引包含了该字段,否则,一不小心把索引删除了,可能将引发大的错误。

上一页  1 2 3 

Tags:Oracle MySQL 删除

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接