Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Zapisywanie dużej ilości danych po przecinku
Forum PHP.pl > Forum > Przedszkole
!*!
Mam np. tabele user, w niej pole login, chciałbym zrobić coś w rodzaju listy konkatków... Przykładowo mój ID to 10, zapisuje do tabeli user, w polu lista swój ID + ID innej osoby np. 15,30,50,28. Nie opłacalne jest dodawanie nowych rekordów i powtarzanie moje ID w takiej formie

  1. ID LISTA
  2. 10 15
  3. 10 30
  4. 10 50
  5. 10 28


Przy dużej liczbie jest to nieopłacalne, dlatego wydaje mi się bardziej optymalne zapisywanie danych po , lub ; tylko jak zapisywać/odczytywać dane w takiej formie

  1. ID LISTA
  2. 10 15;30;50;28


Jak nazywa sie taka operacja?
Kicok
Cytat
Jak nazywa sie taka operacja?


"Chrzanienie struktury bazy danych"


Takie coś nadaje się jedynie do pobierania wszystkich znajomych użytkownika. Za to niewydajne i trudne w napisaniu będzie:
- sprawdzanie czy 123 jest znajomym użytkownika
- dodawanie/usuwanie znajomych


Pozostań przy pierwszym rozwiązaniu i poczytaj trochę o indeksach.
phpion
Taka operacja nazywa się brakiem znajomości podstaw projektowania baz danych. W jaki sposób wyciągniesz loginy wszystkich znajomych danego ludka? Powodzenia. Pomysł z dodatkową tabelą jest jedyny i słuszny.
!*!
Kicok - "Chrzanienie struktury bazy danych" - fachowe określenie winksmiley.jpg

Czyli zostać przy takim wpisywaniu:

Kod
ID LISTA
10 15
10 30
10 50
10 28
25 120
25 23
66 10


tylko że z indeksowaniem? Heh myślałem że przy kilku tysiącach użytkowników, zrobi się z tego kilka milionów kontaktów i to spowolni ich wyszukiwanie.
sebul
Mógłbyś ktoś podać lub nakierować gdzie można szukać jak wykonać zapytanie, aby wyświetliło wszytkie dane z jakiejś konkretnej tabeli i kolumny, ale wszystko w jednej kolumnie po przecinku? Tak dla jasności, chodzi o zapytanie select (DML).
Gość
SELECT oraz GROUP_CONCAT
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.