Bug #3013 DROP DATABASE "force" option
Submitted: 29 Feb 2004 9:28 Modified: 19 May 2009 19:10
Reporter: [ name withheld ] Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: DDL Severity:S4 (Feature request)
Version: OS:Any
Assigned to: CPU Architecture:Any
Triage: Triaged: D5 (Feature request)

[29 Feb 2004 9:28] [ name withheld ]
Description:
"Drop database" responds "ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails"

I saw, that "drop table" has a cascade option. (Though, it is not implemented yet.)
I think "drop database" should have also some kind of "force" or "cascade" option in the syntax.

How to repeat:
[7 Oct 2005 17:46] Hartmut Holzgraefe
SQL:99 syntax is 

  DROP SCHEMA <Schema name> {RESTRICT | CASCADE} 

so i think this is  a valid request.
[15 Feb 2009 18:39] Peter Gulutzan
For WL#148 (Foreign Keys all storage engines) the decision was
that DROP DATABASE, if there is a foreign key, will cause
an error ER_FK_STATEMENT_ILLEGAL.
[19 May 2009 19:10] [ name withheld ]
I am the man who discovered the PROBLEM.
I am glad that after FIVE years and several server versions a "just because" answer has arrived.
This is ridiculous.

There is a need that one should drop an entire database regardless of its contents. (Usually during data refactoring or testing.) And do not spend a whole weekend with reverse engineering the data structure of hundreds of tables and create a drop script that deletes tables in appropriate order.

And of course, there is the SQL 99(!) syntax. 10 years should be more than enough to implement it...
[1 Oct 2018 10:26] Michel Gokan
Dude, don't worry. I'm the man commenting after about 15 years of your original question/request. I'm sure sometime between 3003-3018 the issue will get fixed. Don't be mad!