Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Mysql - Relacje Miedzy Tabelami
Forum PHP.pl > Forum > Bazy danych > MySQL
czezz
mam 2 tabele A i B.

Tabela A zawaiera kolumny:
id,
imie,
nazwisko;

Tabela B zawiera kolumny:
id,
data,
opis;

Czy jest możliwe stworzenie relacji ( tak jak w ORACLE - powiązania między tabelami ) aby podczas dodawanie nowego rekordu do tabeli A w tabeli B automatycznie powstawal ten sam wpis we wspólnych kolumnach ( w tym przypadku tylko kolumna id) ?
mhs
tak, wykorzystac tylko musisz typ tabeli InnoDB

  1. CREATE TABLE B (
  2. id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  3. opis TEXT NULL,
  4. PRIMARY KEY(id)
  5. )
  6. TYPE=InnoDB;
  7.  
  8. CREATE TABLE A (
  9. id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  10. imie CHAR(30) NULL,
  11. nazwisko CHAR(50) NULL,
  12. PRIMARY KEY(id)
  13. )
  14. TYPE=InnoDB;
  15.  
  16. CREATE TABLE A_B (
  17. A_id INTEGER UNSIGNED NOT NULL,
  18. B_id INTEGER UNSIGNED NOT NULL,
  19. PRIMARY KEY(A_id, B_id),
  20. INDEX index_1(A_id),
  21. INDEX index_2(B_id),
  22. FOREIGN KEY(A_id)
  23. REFERENCES A(id) ON DELETE RESTRICT ON UPDATE RESTRICT,
  24. FOREIGN KEY(B_id)
  25. REFERENCES B(id) ON DELETE RESTRICT ON UPDATE RESTRICT
  26. )
  27. TYPE=InnoDB;


---edit----
kurcze, chyba nie doczytalem do konca pytania:
Cytat
Czy jest możliwe stworzenie relacji ( tak jak w ORACLE - powiązania między tabelami ) aby podczas dodawanie nowego rekordu do tabeli A w tabeli B automatycznie powstawal ten sam wpis we wspólnych kolumnach ( w tym przypadku tylko kolumna id) ?


tego nie wiem... powyzszy kod, ktory Ci podalem zaklada tylko klucze obce do tabeli laczacej
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.