Probleme mit 'delete on cascade' für fremdschlüssel

Alles, was MySQL betrifft, kann hier besprochen werden.

Probleme mit 'delete on cascade' für fremdschlüssel

Postby Oleg » 22. April 2010 11:33

Hallo Leute,
ich habe vor kurzem angefangen mit XAMPP tool eine Datenbank zu erstellen. Hier sind die zwei Tabelen aus der Datenbank.
Code: Select all
--
-- Tabellenstruktur für Tabelle `weather`
--

CREATE TABLE IF NOT EXISTS `weather` (
  `id` int(5) NOT NULL AUTO_INCREMENT,
  `description` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

--
-- Daten für Tabelle `weather`
--

INSERT INTO `weather` (`id`, `description`) VALUES
(1, 'rain'),
(2, 'snow'),
(4, 'fog'),
(3, 'clouds');

--
-- Tabellenstruktur für Tabelle `record_weather`
--
CREATE TABLE IF NOT EXISTS `record_weather` (
  `record_id` int(11) NOT NULL,
  `weather_id` int(5) NOT NULL,
  PRIMARY KEY (`record_id`,`weather_id`),
  KEY `weather_id_fk` (`weather_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Daten für Tabelle `record_weather`
--

INSERT INTO `record_weather` (`record_id`, `weather_id`) VALUES
(1, 2),
(2, 2),
(3, 1),
(4, 1),
(5, 1);

Tabele 'record_weather' ist eine relation zwischen zwei Entitäten 'weather' und 'record'(hier nicht eingegeben). 'weather_id' ist soll ein fremdschlüssel von
'id' aus tabele 'weather' sein. So definiere ich es
Code: Select all
ALTER table record_weather ADD CONSTRAINT record_weather_fk FOREIGN KEY(`weather_id`) REFERENCES weather(`id`) ON DELETE CASCADE

Dann lösche ich eintrag 1 aus Tabele weather. Die Einträge in Tabele record_weather mit weather_id=1 allerdings sind immer noch da.
Könnt ihr mir sagen was ich falsche mache?
Danke!

Gruß
Oleg
Oleg
 
Posts: 1
Joined: 22. April 2010 10:27

Return to MySQL

Who is online

Users browsing this forum: No registered users and 2 guests