Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przechowywanie różnych typów danych w jednej kolumnie
Forum PHP.pl > Forum > Bazy danych > MySQL
woj_tas
Witam,

w dynamicznie tworzonym formularzu potrzebuje mieć możliwość wpisania czterech typów danych:
- varchar
- text
- int
- float

Pytanie jak to przechowywać w bazie. Czy wrzucać wszystkie te dane do kolumny typu text czy może zrobić 4 kolumny, dla każdego typu osobną?


Rozwiązanie I:

id | form_id | value (type text) | type
---------------------------------------

Rozwiązanie I:

id | form_id | value_int | value_float | value_varchar | value_text | type
---------------------------------------

Co o tym myślicie?
uupah5
Cytat(woj_tas)
Co o tym myślicie?

rób jak Ci wygodnie *). nie ma co medytować.


*) nie z punktu samego przechowywania, bo to pseudoproblem, ile z punktu widzenia dalszego przetwarzania tych danych
askone
Ciekawe w jakim formularzu w jednym polu mogą się pojawić 4 różne typy wartości?? Osobiście zastosowałbym odmienne podejście z wykorzystaniem dwóch tabel. W pierwszej tabeli zdefiniowałbym wszystkie pola (id, nazwa, label, typ wartości, itp). W drugiej byłyby przechowywane wartości z formularzy, kolumny (id, id_form, id_pola, value).

W miarę prosty sposób można wtedy pobierać informacje z formularzy w powiązaniu z typami pól.

Pozdrawiam
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.