[mysql][php] Pole typu json, problem z normalizacją |
[mysql][php] Pole typu json, problem z normalizacją |
19.10.2017, 10:58:57
Post
#21
|
|
Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 10.12.2003 Skąd: Kraków Ostrzeżenie: (0%) |
Tak używam tylko w WHERE .
W dodatku tylko w jednym typie przypadku. Możesz coś szerzej co to CAST? Ten post edytował jol.us_ 19.10.2017, 11:02:32 -------------------- run Forest run ...
|
|
|
19.10.2017, 11:02:50
Post
#22
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
https://dev.mysql.com/doc/refman/5.7/en/cas...l#function_cast Ten post edytował trueblue 19.10.2017, 17:08:54 -------------------- |
|
|
19.10.2017, 11:15:14
Post
#23
|
|
Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 10.12.2003 Skąd: Kraków Ostrzeżenie: (0%) |
Genialne. Dokładnie to czego potrzebowałem.
Dzięki tobie się wyśpię dziś -------------------- run Forest run ...
|
|
|
20.10.2017, 07:40:58
Post
#24
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) |
Kod {"kolor": "#ffffff", "zdjecie": "test.jpg", "tytul": "Tytul", "kolejnosc":[{"0":"tytul", "1":"kolor", "2":"zdjecie" }]} A nie prościej byłoby: Kod {"kolor": {wartosc: "#ffffff", kolejnosc: 2}, "zdjecie": {wartosc: "test.jpg", kolejnosc: 3}} Lub: Kod {2: {klucz: "kolor", wartosc: "#ffffff"}, 0: {klucz: "tytuł", wartosc: "Tytuł"} I jak najmniej logiki w bazie danych, bo to się potem mści (szczególnie w MySQL, bo ta baza ma tą cudowną właściwość, że np. zamiast zwrócić komunikat błędu to po prostu przytnie sobie string gdy jest za długi). Jeśli tylko jest to możliwe, to powinniśmy unikać zapisywania danych w taki sposób. |
|
|
20.10.2017, 13:57:49
Post
#25
|
|
Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 10.12.2003 Skąd: Kraków Ostrzeżenie: (0%) |
A nie prościej byłoby: Kod {"kolor": {wartosc: "#ffffff", kolejnosc: 2}, "zdjecie": {wartosc: "test.jpg", kolejnosc: 3}} Dość trudno by mi było to potem sortować. Kod {2: {klucz: "kolor", wartosc: "#ffffff"}, 0: {klucz: "tytuł", wartosc: "Tytuł"} Jako klucz mam stringa i nie moge uzyc integera. I jak najmniej logiki w bazie danych, bo to się potem mści (szczególnie w MySQL, bo ta baza ma tą cudowną właściwość, że np. zamiast zwrócić komunikat błędu to po prostu przytnie sobie string gdy jest za długi). Jeśli tylko jest to możliwe, to powinniśmy unikać zapisywania danych w taki sposób. Ten json to był tylko przykład - użyty tylko dla nakreślenia problemu - nie ma nic wspólnego z oryginalnym wyglądem. Tak czy siak uważam, że json to jeden z najbardziej wygodnych formatów przechowywania danych - zwłaszcza, że potem są przejmowane przez front-end. O ilość znaków się nie martwię - tu nie mam takiego niebezpieczeństwa. ---- Tak czy siak. Ostatecznie pozostałem przy formacie pola longtext i użyłem rozwiązania od @trueblue. Dla mnie ten temat jest zamknięty. Ten post edytował jol.us_ 20.10.2017, 13:59:26 -------------------- run Forest run ...
|
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 00:36 |