Короткий ответ, несколько столбцов.
Длинный ответ:
Ради любви ко всему святому в мире, пожалуйста, не храните множественные наборы данных в одном текстовом столбце
Я предполагаю, что у вас будет таблица, которая будет либо
+------------------------------+ +----------------------+
| User | cell | office | home | OR | User | JSON String |
+------------------------------+ +----------------------+
Сначала я скажу, что оба эти решения не являются лучшим решением, но если вы выберете одно из двух, первое будет лучшим. Есть несколько причин, в основном, хотя возможность модифицировать и выполнять конкретные запросы действительно важна. Подумайте о algrothim, чтобы изменить второй вариант.
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
Это решение включает в себя 2 запроса и алгоритм поиска и замены. Нет, хорошо!
Теперь подумайте о первом решении.
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` = ?
Это явно лучше, но не лучше
Существует третье решение. Предположим, вы хотите, чтобы пользователь мог вводить бесконечное количество телефонных номеров.
Позволяет использовать для этого таблицу отношений, так что теперь у вас есть две таблицы.
+-------------------------------------+
+---------+ | Phone |
| Users | +-------------------------------------+
+---------+ | user_name| phone_number | type |
| U_name | +-------------------------------------+
+---------+
Теперь вы можете запросить все телефонные номера пользователя примерно так
Теперь вы можете запросить таблицу через объединение
ВЫБРАТЬ пользователей. , телефон. ИЗ телефона, пользователей ГДЕ phone.user_name =? AND Users.U_name =?
Вставки также просты, а проверка типов также проста.
Помните, что это простой пример, но SQL действительно предоставляет массу возможностей вашей структуре данных, вы должны использовать ее, а не избегать ее