![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 11.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Jeśli posiadam następującą bazę danych O nazwie: ‘super’, w której gromadzę superbohaterów i odpowiadających im aktorów. Actors(actor_id, actor_name, actor_surname) Hero(id, actor_id, name, place, weapon, skills) - 'actor_id' jest kluczem obcym To żeby połączyć te dwie tabele to wpiszę np.: select * from actors INNER JOIN hero using(actor_id); Z ‘select’ jest sprawa jasna, a co jeśli chcę dodać nowy record do dwóch tabel jednocześnie? – żeby klucz actor_id pojawił się jednocześnie w obu tabelach dla zachowania spójności. Czy może się nie da i trzeba oddzielnie napisać dwa zapytania? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 348 Pomógł: 26 Dołączył: 8.10.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego zleży Ci na tym aby pozostać na MyISAM?
Do tego typu zapytań, gdzie jedna czynność powoduje więcej niż jedną relację z bazą danych i nie są to selekty to zaleca się użycie transakcji, oczywiście w zależności do czego ma służyć ta baza... - MyISAM nie obsługuje transakcji. Poza tym 'actor_id' nie jest kluczem obcym tylko pseudo kluczem obcym gdyż MyISAM nie obsługuje relacji tabel... Ten post edytował Adi32 8.12.2011, 09:43:16 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 11:58 |