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

  • BioHunta

    BioHunta

    28 Mayıs 2006
  • circuschina

    circuschina

    16 Mart 2007
  • Paul Schroder

    Paul Schrode

    30 Kasım 2007