{"id":4467,"date":"2014-10-13T10:42:01","date_gmt":"2014-10-13T15:42:01","guid":{"rendered":"http:\/\/appcrawler.com\/wordpress\/?p=4467"},"modified":"2014-10-13T10:42:01","modified_gmt":"2014-10-13T15:42:01","slug":"does-dropping-a-foreign-key-constraint-drop-the-corresponding-index","status":"publish","type":"post","link":"http:\/\/appcrawler.com\/wordpress\/2014\/10\/13\/does-dropping-a-foreign-key-constraint-drop-the-corresponding-index\/","title":{"rendered":"Does dropping a foreign key constraint drop the corresponding index?"},"content":{"rendered":"<p>No, you can safely drop a foreign key referential integrity constraint without affecting any underlying indexes.<\/p>\n<pre>\r\nSQL> create table p(t number primary key);\r\n\r\nTable created.\r\n\r\nSQL> create table c(f number primary key, t number references p(t));\r\n\r\nTable created.\r\n\r\nSQL> create index c_t on c(t);\r\n\r\nIndex created.\r\n\r\nSQL> select index_name from user_indexes where table_name = 'C';\r\n\r\nINDEX_NAME\r\n------------------------------\r\nSYS_C00413196\r\nC_T\r\n\r\nSQL> select constraint_name from user_constraints where r_constraint_name in (select constraint_name from user_constraints where table_name = 'P');\r\n\r\nCONSTRAINT_NAME\r\n------------------------------\r\nSYS_C00413197\r\n\r\nSQL> insert into c values(1,1);\r\ninsert into c values(1,1)\r\n*\r\nERROR at line 1:\r\nORA-02291: integrity constraint (FOO.SYS_C00413197) violated - parent key not found\r\n\r\n\r\nSQL> alter table c drop constraint SYS_C00413197;\r\n\r\nTable altered.\r\n\r\nSQL> select constraint_name from user_constraints where r_constraint_name in (select constraint_name from user_constraints where table_name = 'P');\r\n\r\nno rows selected\r\n\r\nSQL> select index_name from user_indexes where table_name = 'C';\r\n\r\nINDEX_NAME\r\n------------------------------\r\nSYS_C00413196\r\nC_T\r\n\r\nSQL> alter table c add constraint c_t_fk foreign key(t) references p(t);\r\n\r\nTable altered.\r\n\r\nSQL> select constraint_name from user_constraints where r_constraint_name in (select constraint_name from user_constraints where table_name = 'P');\r\n\r\nCONSTRAINT_NAME\r\n------------------------------\r\nC_T_FK\r\n\r\nSQL> select index_name from user_indexes where table_name = 'C';\r\n\r\nINDEX_NAME\r\n------------------------------\r\nSYS_C00413196\r\nC_T\r\n\r\nSQL>\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>No, you can safely drop a foreign key referential integrity constraint without affecting any underlying indexes. SQL> create table p(t number primary key); Table created. SQL> create table c(f number primary key, t number references p(t)); Table created. SQL> create&hellip;<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"http:\/\/appcrawler.com\/wordpress\/2014\/10\/13\/does-dropping-a-foreign-key-constraint-drop-the-corresponding-index\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"footnotes":""},"categories":[19,22],"tags":[],"_links":{"self":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/4467"}],"collection":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/comments?post=4467"}],"version-history":[{"count":3,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/4467\/revisions"}],"predecessor-version":[{"id":4494,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/4467\/revisions\/4494"}],"wp:attachment":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/media?parent=4467"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/categories?post=4467"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/tags?post=4467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}