thowi
Aktives Mitglied
Thread Starter
- Dabei seit
- 14.10.2007
- Beiträge
- 560
- Reaktionspunkte
- 33
Hallo zusammen,
ich habe bei einer Datenbank das Problem, dass ich einen Fremdschlüssel nicht korrekt zuordnen kann.
Folgendes wollte ich umsetzen:
Dabei erscheint folgende Fehlermeldung:
Die Tabelle "Produkte" sieht folgendermaßen aus:
Die Tabelle "Personen" sieht folgendermaßen aus:
Steh ich grade total aufm Schlauch, oder kann sich da jemand von euch einen Reim drauf machen?
Wäre dankbar für einen Tipp!
LG, thowi
ich habe bei einer Datenbank das Problem, dass ich einen Fremdschlüssel nicht korrekt zuordnen kann.
Folgendes wollte ich umsetzen:
Code:
ALTER TABLE `Produkte` ADD FOREIGN KEY ( `Eigentümer` ) REFERENCES `d0172e22`.`Personen` (
`PersID`
) ON DELETE RESTRICT ON UPDATE CASCADE ;
Dabei erscheint folgende Fehlermeldung:
Code:
#1452 - Cannot add or update a child row: a foreign key constraint fails (`d0172e22`.<result 2 when explaining filename '#sql-6b0_7d619e'>, CONSTRAINT `#sql-6b0_7d619e_ibfk_4` FOREIGN KEY (`Eigentümer`) REFERENCES `Personen` (`PersID`) ON UPDATE CASCADE)
Die Tabelle "Produkte" sieht folgendermaßen aus:
Code:
CREATE TABLE IF NOT EXISTS `Produkte` (
`ProdID` int(11) NOT NULL AUTO_INCREMENT,
`Foto` mediumblob,
`HerstID_Hersteller` int(11) NOT NULL,
`Bezeichnung` text COLLATE latin1_german1_ci,
`HerstellerProduktLink` text COLLATE latin1_german1_ci,
`KatID_Kategorie` int(11) NOT NULL,
`Anzahl` int(11) DEFAULT NULL,
`HändlerID_Händler` int(11) NOT NULL,
`GekauftAm` date DEFAULT NULL,
`Kaufpreis` decimal(11,0) DEFAULT NULL,
`HaltbarBis` date DEFAULT NULL,
`PackLänge` decimal(11,0) DEFAULT NULL,
`PackBreite` decimal(11,0) DEFAULT NULL,
`PackHöhe` decimal(11,0) DEFAULT NULL,
`GewichtGramm` decimal(11,0) DEFAULT NULL,
`Eigentümer` int(11) NOT NULL,
PRIMARY KEY (`ProdID`),
UNIQUE KEY `HerstID_Hersteller` (`HerstID_Hersteller`),
UNIQUE KEY `KatID_Kategorie` (`KatID_Kategorie`),
UNIQUE KEY `HändlerID_Händler` (`HändlerID_Händler`),
UNIQUE KEY `Eigentümer` (`Eigentümer`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci AUTO_INCREMENT=2 ;
Die Tabelle "Personen" sieht folgendermaßen aus:
Code:
CREATE TABLE IF NOT EXISTS `Personen` (
`PersID` int(11) NOT NULL AUTO_INCREMENT,
`Vorname` text COLLATE latin1_german1_ci,
`Nachname` text COLLATE latin1_german1_ci,
PRIMARY KEY (`PersID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci AUTO_INCREMENT=1 ;
Steh ich grade total aufm Schlauch, oder kann sich da jemand von euch einen Reim drauf machen?
Wäre dankbar für einen Tipp!
LG, thowi