SORU
26 Temmuz 2010, PAZARTESİ


Olamaz ya da bir üst satırı sil güncelleme: yabancı anahtar kısıtlaması başarısız

Bu hata mesajı alıyorum:

HATA 1217 (23000) at line 40: Olamaz silmek ya da bir üst satır güncelleme: yabancı anahtar kısıtlaması başarısız olur

... bırakmak için çalışırken bir tablo:

DROP TABLE IF EXISTS `area`;

... bu şekilde tanımlanmış:

CREATE TABLE `area` (
  `area_id` char(3) COLLATE utf8_spanish_ci NOT NULL,
  `nombre_area` varchar(30) COLLATE utf8_spanish_ci NOT NULL,
  `descripcion_area` varchar(100) COLLATE utf8_spanish_ci NOT NULL,
  PRIMARY KEY (`area_id`),
  UNIQUE KEY `nombre_area_UNIQUE` (`nombre_area`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;

İşin garibiZaten tüm diğer tablolar bıraktışemada area karşı yabancı anahtarları var. Aslında veritabanı area tablo dışında boş.

Nasıl eğer veritabanında herhangi bir nesne değil, eğer yok alt satır olabilir? Bildiğim kadarıyla, Bunu diğer şemalar üzerinde yabancı anahtarları izin vermez, değil mi?

(Bile RENAME TABLE area TO something_else Bir komut çalıştırabilirsiniz :-?)

CEVAP
7 Kasım 2013, PERŞEMBE


Talep üzerine, şimdi bir cevap

Tarayıcı veya phpMyAdmin MySQL Sorgusu kullanarak, yeni bir bağlantı her sorgu için (bugs.mysql.com/bug.php?id=8280), gerekli bir sorgu, örneğin tüm açılan ifadeleri yazmak için yapım açıldığında görüntülenir.

SET FOREIGN_KEY_CHECKS=0; 
DROP TABLE my_first_table_to_drop; 
DROP TABLE my_second_table_to_drop; 
SET FOREIGN_KEY_CHECKS=1; 

Nerede SET FOREIGN_KEY_CHECKS=1 ekstra güvenlik önlemi olarak hizmet vermektedir...

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Gavin Hoey

    Gavin Hoey

    21 Aralık 2007
  • Jucyber Tutoriais

    Jucyber Tuto

    8 EYLÜL 2009
  • Justin Schenck

    Justin Schen

    24 Kasım 2006