7 messages in com.mysql.lists.bugsRe: Bug in new FOREIGN KEY checks in ...
FromSent OnAttachments
Steve Hay26 Feb 2004 06:42 
Sinisa Milivojevic26 Feb 2004 06:47 
Steve Hay26 Feb 2004 06:58 
Sinisa Milivojevic26 Feb 2004 07:04 
Steve Hay26 Feb 2004 07:21 
Sinisa Milivojevic26 Feb 2004 07:32 
Steve Hay26 Feb 2004 07:56 
Subject:Re: Bug in new FOREIGN KEY checks in MySQLInnoDB/4.0.18
From:Steve Hay (stev@uk.radan.com)
Date:02/26/2004 06:58:03 AM
List:com.mysql.lists.bugs

Sinisa Milivojevic wrote:

Steve Hay writes:

Hi,

I've just upgraded from MySQL 4.0.16 to 4.0.18 and now find that some commands that used to work without error (dropping and re-creating a database) no longer work.

The error is:

error: 'Cannot delete or update a parent row: a foreign key constraint fails'

which presumably relates to the first item in the InnoDB version history (http://www.innodb.com/ibman.php#InnoDB.history). (All the tables in the database concerned are InnoDB tables.)

It appears that the foreign key constraint is being checked even when dropping the database, which I assume is not intended.

I tried a simple case of one table X referencing another table Y, and "DROP DATABASE" works fine (even with data in it, so foreign key constraints are not being checked here, which is as I would expect). I tried another case with two tables X and Y referencing one table Z, but still no error. Finally, I reproduced my problem by having table X referencing table Y and table Y referencing table Z.

The following DOS command-lines result in the error above:

I'm running Windows XP SP1.

Regards, - Steve

Hi!

Yes, the above is now the expected behaviour and it is documented in our Changelog.

All you have to do is drop tables in the right order.

I understand that if I was issuing DROP TABLE statements then I would need to put them in the right order, but I'm doing a DROP DATABASE.

Surely foreign key constraints should not be checked when the entire database is being dropped.

If they /are/ supposed to be checked then the other cases that I mentioned above (where DROP DATABASE worked fine) are not working properly!

- Steve

------------------------------------------------ Radan Computational Ltd.