SORU
27 Mart 2011, Pazar


kesecek yabancı anahtar kısıtlanmış tablo

Neden mygroup işe KESECEK değil mi? ON DELETE CASCADE SET olsa da ben alıyorum:

HATA 1701 (42000): Cannot kesecek bir tablo yabancı anahtar kısıtlaması başvurulan (mytest.instance KISITLAMA instance_ibfk_1 YABANCI ANAHTAR (GroupID) mytest.*BAŞVURULAR 9* (ID))

drop database mytest;
create database mytest;
use mytest;

CREATE TABLE mygroup (
   ID    INT NOT NULL AUTO_INCREMENT PRIMARY KEY
) ENGINE=InnoDB;

CREATE TABLE instance (
   ID           INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
   GroupID      INT NOT NULL,
   DateTime     DATETIME DEFAULT NULL,

   FOREIGN KEY  (GroupID) REFERENCES mygroup(ID) ON DELETE CASCADE,
   UNIQUE(GroupID)
) ENGINE=InnoDB;

CEVAP
10 Kasım 2011, PERŞEMBE


Evet

SET FOREIGN_KEY_CHECKS = 0;

TRUNCATE table1;
TRUNCATE table2;

SET FOREIGN_KEY_CHECKS = 1;

Bu ifadeler ile, FOREIGN KEY kısıtlamaları uymayan tablolarına satırlar içeri risk.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DancingIsAPassion

    DancingIsAPa

    29 AĞUSTOS 2009
  • kruno j

    kruno j

    6 Mayıs 2007
  • NLthomas21

    NLthomas21

    20 Mayıs 2008

İLGİLİ SORU / CEVAPLAR