DBAtlas · Veritabanı operasyon atlası

3730: Cannot drop table referenced by a foreign key constraint

MySQL

Ne demek?

Silinmeye çalışılan tabloya başka bir tablonun foreign key'i referans verdiği için tablo düşürülemiyor. Referans var oldukça DROP engellenir.

Neden olur?

Bir üst (parent) tabloyu, ona FK ile bağlı alt tablolar hâlâ mevcutken silmeye çalışmak; bağımlılık sırasının gözetilmemesi; foreign key'lerin önce kaldırılmaması.

Nasıl çözülür?

Önce referans veren foreign key'i kaldırın: ALTER TABLE alt_tablo DROP FOREIGN KEY fk_ad; sonra tabloyu silin. Bağımlı tabloları/constraint'leri bulun: SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'tablo'; Toplu işlemlerde geçici olarak SET FOREIGN_KEY_CHECKS = 0; kullanılabilir ama dikkatli olun ve sonra tekrar 1 yapın.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar