DBAtlas · Veritabanı operasyon atlası

1091: Can't DROP 'x'; check that column/key exists

MySQL

Ne demek?

ALTER TABLE ile silinmeye çalışılan sütun, index ya da foreign key mevcut değil. Var olmayan bir nesne düşürülemez.

Neden olur?

DROP COLUMN/INDEX/FOREIGN KEY ile var olmayan bir nesne adı verilmesi; adın yanlış yazılması; nesnenin daha önce silinmiş olması; foreign key adı ile index adının karıştırılması; migrasyonun ikinci kez çalışması.

Nasıl çözülür?

Nesnenin gerçek adını doğrulayın: SHOW CREATE TABLE tablo; ya da SHOW INDEX FROM tablo; Doğru adı kullanarak silin. Foreign key için sembol (symbol) adını kullanın: ALTER TABLE tablo DROP FOREIGN KEY fk_ad; MySQL'de DROP COLUMN IF EXISTS sözdizimi yoktur (yalnızca MariaDB'de vardır); idempotent migrasyonlarda önce information_schema.columns ile sütunun varlığını kontrol edin: SELECT COUNT(*) FROM information_schema.columns WHERE table_schema = DATABASE() AND table_name = 'tablo' AND column_name = 'sutun';

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar