Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Najlepszy sposób na wstawienie danych JSON do MYSQL

Niektóre komentarze sugerowały pozostawienie go w formacie JSON i przechowywanie go w kolumnie tekstowej.

Sugeruję, że jeśli masz kontrolę nad swoim schematem, powinieneś przechowywać go w dwóch NUMERIC pola — jedno dla szerokości i jedno dla długości geograficznej. Zasadniczo to są dane, które posiadasz. Fakt, że otrzymałeś je przy użyciu JSON jako formatu kontenera, nie ma znaczenia dla samych danych.

Jeśli zapiszesz go jako szerokość i długość geograficzną, łatwiej będzie o nie zapytać, a jeśli chcesz, nadal możesz odtworzyć kod JSON... ale jeśli w końcu zechcesz go pobrać nie jako JSON będziesz w znacznie lepszej sytuacji, aby to zrobić. Oznacza to również, że nie wiążesz się z JSON przed przyszłymi zmianami.

Osobiście uważam, że zawsze dobrym pomysłem jest mentalne oddzielenie wewnętrznej natury danych od sposobu, w jaki je otrzymujesz. Przechowuj dane w dowolnym formacie idiomatycznym dla tego magazynu — więc jeśli przechowujesz liczbę, użyj jednego z numerycznych typów danych. Jeśli przechowujesz datę i godzinę, użyj datetime itp. W ten sposób nie będziesz mieć dodatkowej warstwy między Tobą a samymi danymi za każdym razem, gdy chcesz uzyskać do nich dostęp.

Takie podejście oznacza również znacznie większe prawdopodobieństwo wykrycia błędnych danych na wczesnym etapie – jeśli po prostu przechowujesz bezpośrednio plik JSON bez wcześniejszego analizowania, możesz później stwierdzić, że szerokość lub długość geograficzna nie jest prawidłową liczbą. Heck, fakt, że twoje przykładowe dane czasami mają lon a czasami ma lng sugeruje, że mimo wszystko powinieneś przeprowadzić pewne czyszczenie danych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wymuś upuszczenie mysql z pominięciem ograniczenia klucza obcego

  2. Porównywanie podwójnych typów MySQL nie powiodło się

  3. Liczba wpisów w DB PHP

  4. Czy Mysql ma odpowiednik @@ROWCOUNT jak w mssql?

  5. wybierz tytuł trafności na podstawie tagu podobnego do mysql