Кратък отговор, множество колони.
Дълъг отговор:
За любовта към всичко свято в света, моля, не съхранявайте множество набори от данни в една текстова колона
Предполагам, че ще имате маса, която ще бъде или
+------------------------------+ +----------------------+
| User | cell | office | home | OR | User | JSON String |
+------------------------------+ +----------------------+
Първо ще кажа, че и двете решения не са най-доброто решение, но ако изберете от двете, първото е най-доброто. Основно има няколко причини, въпреки че възможността за промяна и конкретно запитване е наистина важна. Помислете за алгротима, за да промените втората опция.
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 =? И Потребители.U_name =?
Вмъкванията са също толкова лесни и проверката на типа също е лесна.
Не забравяйте, че това е прост пример, но SQL наистина осигурява много мощност на вашата структура от данни, трябва да я използвате, вместо да я избягвате