3730: Cannot drop table referenced by a foreign key constraint
MySQLNe 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.
Aynı motorda diğer kayıtlar
- 1093You can't specify target table 'x' for update in FROM clause
- 1305PROCEDURE does not exist
- 1227Access denied; you need (at least one of) the PRIVILEGE
- 2013Lost connection to MySQL server during query
- 1153Got a packet bigger than 'max_allowed_packet' bytes
- 1969MariaDB: Query execution was interrupted (max_statement_time exceeded)
- 1927MariaDB: ER_CONNECTION_KILLED: Connection was killed