Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie kaskadowe
Forum PHP.pl > Forum > Bazy danych > MySQL
wojtek992
Witam

Wszystko ustawiłem tak jak być powinno być, ale rekordy nie usuwają mi się kaskadowo , nie wiem czemu , proszę o pomoc

Niżej zrzut tabeli

  1.  
  2. CREATE TABLE IF NOT EXISTS `datamiejsce` (
  3. `idDATAMIEJSCE` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  4. `WIERZYCIEL_idWIERZYCIEL` int(10) UNSIGNED NOT NULL,
  5. `MIEJSCE` char(20) COLLATE utf8_polish_ci NOT NULL,
  6. `DAT` date NOT NULL,
  7. PRIMARY KEY (`idDATAMIEJSCE`),
  8. KEY `DATAMIEJSCE_FKIndex1` (`WIERZYCIEL_idWIERZYCIEL`)
  9. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=7 ;
  10.  
  11. --
  12. -- Zrzut danych tabeli `datamiejsce`
  13. --
  14.  
  15. INSERT INTO `datamiejsce` (`idDATAMIEJSCE`, `WIERZYCIEL_idWIERZYCIEL`, `MIEJSCE`, `DAT`) VALUES
  16. (1, 1, 'Warszawa', '2011-10-31'),
  17. (2, 2, 'Warszawa', '2011-10-31'),
  18. (4, 0, 'Warszawa', '2011-10-31'),
  19. (5, 0, 'Warszawa', '2011-10-31'),
  20. (6, 0, 'Warszawa', '2011-10-31');
  21.  
  22.  
  23.  
  24. Oraz druga z, której usuwam rekor i powinien usunąć się z tej drugiej
  25.  
  26. -- Struktura tabeli dla `wierzyciel`
  27. --
  28.  
  29. CREATE TABLE IF NOT EXISTS `wierzyciel` (
  30. `idWIERZYCIEL` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  31. `NAZWAW` text COLLATE utf8_polish_ci NOT NULL,
  32. `ADRESW` text COLLATE utf8_polish_ci NOT NULL,
  33. `NRBUDYNKUW` char(5) COLLATE utf8_polish_ci NOT NULL,
  34. `NRLOKALUW` char(5) COLLATE utf8_polish_ci NOT NULL,
  35. `KODPOCZTOWYW` char(7) COLLATE utf8_polish_ci NOT NULL,
  36. `MIASTOW` char(20) COLLATE utf8_polish_ci NOT NULL,
  37. `NIPW` char(10) COLLATE utf8_polish_ci DEFAULT NULL,
  38. PRIMARY KEY (`idWIERZYCIEL`)
  39. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=6 ;
  40.  
  41. --
  42. -- Zrzut danych tabeli `wierzyciel`
  43. --
  44.  
  45. INSERT INTO `wierzyciel` (`idWIERZYCIEL`, `NAZWAW`, `ADRESW`, `NRBUDYNKUW`, `NRLOKALUW`, `KODPOCZTOWYW`, `MIASTOW`, `NIPW`) VALUES
  46. (3, 'Firma Krzak Sp.z.o.o.', 'Osiedlowa', '3A', '8', '83-400', 'Warszawa', '591-117-42'),
  47. (4, 'Firma Krzak Sp.z.o.o.', 'Osiedlowa', '3A', '8', '83-400', 'Warszawa', '591-117-42'),
  48. (5, 'Firma Krzak Sp.z.o.o.', 'Osiedlowa', '3A', '8', '83-400', 'Warszawa', '591-117-42');
  49.  
  50.  
  51.  
  52.  
  53.  
wookieb
Tak tworzy się klucze obce.
http://dev.mysql.com/doc/refman/5.1/en/inn...onstraints.html
Tego u Ciebie nie widzę.
wojtek992
Temat do zamknięcia, Dzięki

tak to ma wyglądać :

  1. CREATE TABLE `wierzyciel` (
  2. `idWIERZYCIEL` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `NAZWAW` text NOT NULL,
  4. `ADRESW` text NOT NULL,
  5. `NRBUDYNKUW` char(5) NOT NULL,
  6. `NRLOKALUW` char(5) NOT NULL,
  7. `KODPOCZTOWYW` char(7) NOT NULL,
  8. `MIASTOW` char(20) NOT NULL,
  9. `NIPW` char(10),
  10. PRIMARY KEY(`idWIERZYCIEL`)
  11. )
  12. ENGINE=INNODB;
  13.  
  14. CREATE TABLE `zestawienie` (
  15. `idZESTAWIENIE` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  16. `WIERZYCIEL_idWIERZYCIEL` int(10) UNSIGNED NOT NULL,
  17. `LICZBAPOZYCJI` int(10) UNSIGNED NOT NULL,
  18. `SUMA` decimal(10,2) NOT NULL,
  19. `SLOWNIE` char(50) NOT NULL,
  20. PRIMARY KEY(`idZESTAWIENIE`),
  21. INDEX `ZESTAWIENIE_FKIndex1`(`WIERZYCIEL_idWIERZYCIEL`),
  22. CONSTRAINT `zestawienie_ibfk_1` FOREIGN KEY (`WIERZYCIEL_idWIERZYCIEL`)
  23. REFERENCES `wierzyciel`(`idWIERZYCIEL`)
  24. ON DELETE CASCADE
  25. ON UPDATE CASCADE
  26. )
  27. ENGINE=INNODB;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.