2016-04-06 13 views
1

Bir tabloya 'rotalar1' birden çok yabancı anahtar eklemek çalışıyorum ama hala bana bir hata veriyor Cannot add foreign key constraint, Bazı kod eksik miyim? Şimdiden teşekkürler. Veri türü aynı olmalıdır: Burada kod parçacığı İşteBirden çok yabancı anahtar eklemek bir hata veriyor

CREATE TABLE `routes1` (
    `Airline` varchar(3) default NULL, 
    `Airline_ID` int(11) default NULL, 
    `Source_Airport` varchar(4) default NULL, 
    `Source_Airport_ID` varchar(5) default NULL, 
    `Destination_Airport` varchar(4) default NULL, 
    `Destination_Airport_ID` varchar(4) default NULL, 
    `CodeShare` char(1), 
    `Stops` int(1), 
    `Equipment` text, 
FOREIGN KEY(Airline_ID) REFERENCES airlines(Airline_ID) 
    ON DELETE CASCADE ON UPDATE CASCADE, 
FOREIGN KEY(Source_Airport_ID) REFERENCES airports(Airport_ID) 
    ON DELETE CASCADE ON UPDATE CASCADE 
); 

"havaalanı" referans tablo için oluşturduğunuz tablo komut

CREATE TABLE `airports` (
    `Airport_ID` int(5), 
    `Name` text, 
    `City` text, 
    `Country` text, 
    `IATA/FAA`text default NULL, 
`ICAO` text, 
    `Latitude` double NOT NULL, 
    `Longitude` double NOT NULL, 
    `Altitude` double NOT NULL, 
    `Timezone` double not null, 
`dst` char(1) default NULL, 
`Tz_Database_time_zone` text, 
    PRIMARY KEY (`Airport_ID`) 
); 
+0

veri türü INT (5) – Deepesh

+0

Veri türleri maç artı diğer bazı koşullar gerekir ise: Aşağıdaki bağlantıyı görebilirsiniz fazla bilgi için

. Ayrıca, "yabancı anahtar" referansını içeren tablolarda "oluşturma" komut dosyaları gönderin. –

+0

yayınlandıran yabancı anahtar referansında tablo komut dosyası oluştur – Deepesh

cevap

5

Airline_ID ve Source_Airport_ID veri türlerindeki değişikliğe bakınız olduğu Yabancı anahtarların kaynak tablosu.

CREATE TABLE `routes1` (
`Airline` varchar(3) default NULL, 
`Airline_ID` int(5) default NULL, 
`Source_Airport` varchar(4) default NULL, 
`Source_Airport_ID` int(5) default NULL, 
`Destination_Airport` varchar(4) default NULL, 
`Destination_Airport_ID` varchar(4) default NULL, 
`CodeShare` char(1), 
`Stops` int(1), 
`Equipment` text, 
FOREIGN KEY(Airline_ID) REFERENCES airlines(Airline_ID) 
ON DELETE CASCADE ON UPDATE CASCADE, 
FOREIGN KEY(Source_Airport_ID) REFERENCES airports(Airport_ID) 
ON DELETE CASCADE ON UPDATE CASCADE 
); 

Yanıt doğruysa, lütfen yanıt olarak işaretleyin. Teşekkür ederim. Airport_ID için

Supports transactions, row-level locking, and foreign keys

+0

Çalıştı, teşekkürler alot @jahangirAlam – Deepesh

+0

Welcome @Deepesh –