Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.08.2009 Ostrzeżenie: (0%)
|
Witam. Mam czysto teoretyczne pytanie.
Mam dwie tabele które opisuje poniżej: Pierwsza tabela składającą się z dwóch kolumn: id i kategoria. Id jest nadawane przez auto_increment natomiast w kolumnie o nazwie kategoria mieszczą się nazwy kategorii i jest ich dokładnie pięć. Tabela ta wygląda tak: 1. pierwszy kategoria 2. druga kategoria 3. trzecia kategoria 4. czwarta kategoria 5. piąta kategoria Druga tabela zawiera: id, kategoria, nazwa. Id jest nadawane przez auto_increment, kategoria to cyfra która ma nawiązywać do pierwszej tabeli i kolumna nazwa posiada nazwy produktów i przykładowo wygląda tak: 1. 3. nazwa_produktu Oznacza to, że pierwszy rekord o identyfikatorze nr. 1 to produkt o nazwie: nazwa_produktu i należy do kategorii 3 Problem w tym, że 'id' w pierwszej tabeli jest przez auto_increment dlatego też jak usunę wszystkie rekordy w pierwszej tabeli i utworze je na nowo? wtedy nie będzie żadnej kategorii o identyfikatorze 3 bo wtedy tabela pierwsza będzie wyglądała tak: 6. pierwszy kategoria 7. druga kategoria 8. trzecia kategoria 9. czwarta kategoria 10. piąta kategoria Pojawia się problem bo nagle wszystkie rekordy z drugiej tabeli stracą kategorie. I jak to pogodzić? Bo ja widzę tylko jedną opcję. Oprócz kolumny 'id' w pierwszej tabeli która ma auto_increment wstawić jeszcze jedną kolumnę o nazwie np. "numer_kategorii" i na sztywno wpisywać oprócz nazwy kategorii jej numer ale czy to jest dobre rozwiązanie? Ten post edytował Zagiewa 8.04.2010, 19:47:51 |
|
|
|
![]() |
Post
#2
|
|
|
Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków |
troszkę mylisz pojęcia. polecam poczytanie o kluczach obcych. jest to wymuszenie więzów integralności czyli w przykładzie:
w tabeli 1 mam id i nazwa teraz tabela 2 id, pod_nazwa, id_nazwa1 i mam klucz obcy założony na id_nazwa1 do pola id w tabeli 1, i teraz chąc usunąć coś w tabeli 1 która ma 'odnośnik' w tabeli 2 nie dam rady bo moja integralność nie będzie OK, bo miałem coś w tabli 1 co używała tabela 2 a już tego nie ma, FK zapobiega takim działaniom. polecam lekturę o Forgein Key. |
|
|
|
Zagiewa [MySQL]Łączenie tabel za pomocą kluczy 8.04.2010, 19:44:00
luck Do tego służą klucze obce. Używając ich możesz cał... 8.04.2010, 19:49:17
Zagiewa Tak rozumiem, że są klucze główne i obce i u mnie ... 8.04.2010, 20:38:58
Szeszek1992 [SQL] pobierz, plaintext CREATE TABLE kat (... 8.04.2010, 20:47:14
luck Koledzy już Ci trochę napisali, ja dodam jeszcze t... 8.04.2010, 21:04:39
Zagiewa Klucze główne miałem nadane ale dzięki za info jak... 8.04.2010, 21:06:32 
piotrooo89 Cytat(Zagiewa @ 8.04.2010, 22:06:32 )... 8.04.2010, 21:15:42
Szeszek1992 W phpMyAdminie możesz dodawać tabele zapytaniem SQ... 8.04.2010, 21:28:26
Zagiewa Dzięki wielkie działa - chyba tzn stworzyłem na n... 9.04.2010, 13:05:55
piotrooo89 proszę o używanie odpowiedniego bbcode. 9.04.2010, 13:06:57
Zagiewa Zgaduje, że za bardzo namotałem, że nie odpisujeci... 10.04.2010, 00:08:08
piotrooo89 nie mam w zwyczaju prosić 2 razy. temat zamykam. o... 10.04.2010, 08:50:59
Zagiewa Udało mi się chociaż nie wiem czy jest to dobry sp... 11.04.2010, 00:37:15
mortus Hmm... Chyba coś robisz źle. Dlaczego? W tabeli li... 11.04.2010, 09:22:27
Zagiewa Masz rację mortus będę chciał wyświetlić tylko te ... 13.04.2010, 02:16:04
mortus Pokaż to co do tej pory zrobiłeś (wszystko), to bę... 13.04.2010, 08:09:57
Zagiewa Tabele w wyglądają tak:
[PHP] pobierz, plaintext $... 13.04.2010, 14:02:46 ![]() ![]() |
|
Aktualny czas: 11.01.2026 - 15:28 |