2016-04-14 30 views
1

Hata alıyorum: Error 1217 benim MySQL kod. Benim MySQL kodHata kodu 1217 MySQL kodunda

DROP TABLE IF EXISTS Formed; 
DROP TABLE IF EXISTS Album; 
DROP TABLE IF EXISTS Band; 
DROP TABLE IF EXISTS Customers; 
DROP TABLE IF EXISTS Track; 

CREATE TABLE Formed(
    FormedID int AUTO_INCREMENT, 
    YearFormed int, 
    CountryFormed varchar(50), 
    CityFormed varchar(50), 
    BandMembers varchar(400), 
    PRIMARY KEY(FormedID)) 
    ENGINE=InnoDB; 

CREATE TABLE Track (
    TrackID int AUTO_INCREMENT, 
    AlbumID int AUTO_INCREMENT, 
    Songs varchar (100), 
    TrackNumber varchar (20), 
    Title varchar (30), 
    TrackDuration varchar (4), 
    PRIMARY KEY (TrackID)) 
    ENGINE=InnoDB; 

CREATE TABLE Album(
    AlbumID int AUTO_INCREMENT, 
    TrackID int AUTO_INCREMENT, 
    BandID int AUTO_INCREMENT, 
    KEY(TrackID), 
    KEY(BandID), 
    Price varchar(5), 
    PublicationDate varchar(11), 
    Title varchar(30), 
    Genre varchar (36), 
    PRIMARY KEY(AlbumID)) 
    ENGINE=InnoDB; 

CREATE TABLE Band(
    BandID int AUTO_INCREMENT, 
    AlbumID int AUTO_INCREMENT, 
    KEY(AlbumID), 
    RecordLabel varchar(50), 
    PRIMARY KEY(BandID)) 
    ENGINE=InnoDB; 

CREATE TABLE Customers (
    CustomerID int AUTO_INCREMENT, 
    CName varchar (20), 
    CPhone int (11), 
    CEmail varchar (50), 
    CPPaid varchar (50), 
    CPDate date, 
    PRIMARY KEY (CustomerID)) 
    ENGINE=InnoDB; 

ALTER TABLE Track 
ADD FOREIGN KEY (AlbumID) REFERENCES Album(AlbumID)ON DELETE SET NULL ON UPDATE CASCADE; 

ALTER TABLE Album 
ADD FOREIGN KEY (TrackID) REFERENCES Track(TrackID)ON DELETE SET NULL ON UPDATE CASCADE; 

ALTER TABLE Album 
ADD FOREIGN KEY (BandID) REFERENCES Band(BandID)ON DELETE SET NULL ON UPDATE CASCADE; 

ALTER TABLE Band 
ADD FOREIGN KEY (AlbumID) REFERENCES Album(AlbumID)ON DELETE SET NULL ON UPDATE CASCADE; 

Ve ben DROP TABLE IF EXISTS AlbumError Code: 1217. Cannot delete or update a parent row: a foreign key constraint fails, aynı zamanda diğer DROP TABLE IF EXISTS hatları için olur hatayı alıyorum. MySQL komut dosyalarında Foreign Keys'u kullanıyorum ve bu hataları neden aldığımı bilmiyorum. Birisi bunu düzeltmeme yardım edebilirse, takdir edilecektir. Zaten Bogus foreign key constraint fail

+0

kaldırmaya çalışırsanız ettik Yabancı anahtar kısıtlamalarını ihlal etmekten kaçının, önce yabancı anahtarları kaldırın, hatta yabancı anahtarları bile devre dışı bırakın. – tadman

+0

@tadman Onları sadece koddan çıkarıyorum ve hala oluyor – smitthy

+0

@Siguza Orada verilen tüm cevapları denediğim için bir çoğaltma değil ve hala çalışmıyor – smitthy

cevap

2

Sizin Senaryo Tamam bu bağlantıyı takip ederek bulunabilir tüm cevapları çalıştı, ama Dropping Tablolar önce sen farklı bir sırayla bırakın gerekebilir Foreign Key References

+0

Bu yüzden çizgiler boyunca bir şey olurdu of: 'ALTER TABLE Parça YABANCI ANAHTAR (AlbumID);'? – smitthy

+0

phpmyadmin veya workbench kullanıyor musunuz? Veya Konsolosluk !? –

+0

Ben MySQL Workbench – smitthy