Respuesta corta, Varias columnas.
Respuesta larga:
Por el amor de todo lo sagrado en el mundo por favor no almacenar mutiple conjuntos de datos en una columna de texto único
Estoy suponiendo que tendrá una mesa que, o bien se
+------------------------------+ +----------------------+
| User | cell | office | home | OR | User | JSON String |
+------------------------------+ +----------------------+
en primer lugar he de decir que tanto estas soluciones no son la mejor solución, pero si tuviera que escoger el de los dos: el primero es mejor. Hay un par de razones principalmente, aunque la capacidad de modificar y consultar específicamente es realmente importante. Piensa en algrothim para modificar la segunda opción.
SELECT `JSON` FROM `table` WHERE `User` = ?
Then you have to do a search and replace in either your server side or client side language
Finally you have to reinsert the JSON string
Esta solución tiene un total de 2 consultas y un algoritmo de búsqueda y reemplazo. ¡No es bueno!
Ahora piense en la primera solución.
SELECT * FROM `table` WHERE `User` = ?
Then you can do a simple JSON encode to send it down
To modify you only need one Query.
UPDATE `table` SET `cell` = ? WHERE `User` = ?
to update more than one its again a simple single query
UPDATE `table` SET `cell` = ?, `home` = ? WHERE `User` = ?
Esto es claramente mejor, pero no es mejor
Hay una tercera solución Digamos que usted quiere que un usuario sea capaz de insertar un número infinito de números de teléfono.
Permite utilizar una tabla de relaciones para eso, así que ahora tiene dos tablas.
+-------------------------------------+
+---------+ | Phone |
| Users | +-------------------------------------+
+---------+ | user_name| phone_number | type |
| U_name | +-------------------------------------+
+---------+
ya se puede consultar todos los números de teléfono de un usuario con algo como esto
Ahora se puede consultar la tabla a través de una unión
Seleccionar usuarios. , teléfono. FROM Phone, Users WHERE phone.user_name =? AND Users.U_name =?
Los insertos son igual de fáciles y también es fácil verificar los tipos.
recuerda que esto es un ejemplo sencillo pero muy SQL proporciona una tonelada de energía a su estructura de datos que se debe utilizar en lugar de evitar que