Krátká odpověď, více sloupců.
Dlouhá odpověď:
Z lásky ke všemu, co je na světě svaté, prosím neukládejte více souborů dat do jednoho textového sloupce
Předpokládám, že budete mít stůl, který bude buď
+------------------------------+ +----------------------+
| User | cell | office | home | OR | User | JSON String |
+------------------------------+ +----------------------+
Nejprve řeknu, že obě tato řešení nejsou nejlepším řešením, ale pokud byste si měli vybrat z těchto dvou, první je nejlepší. Existuje několik důvodů, především i když schopnost konkrétně upravovat a dotazovat je opravdu důležitá. Přemýšlejte o algrothimu, abyste upravili druhou možnost.
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
Toto řešení zahrnuje celkem 2 dotazy a algoritmus vyhledávání a nahrazování. Není to dobré!
Nyní přemýšlejte o prvním řešení.
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` = ?
To je jednoznačně lepší, ale není to nejlepší
Existuje třetí řešení Řekněme, že chcete, aby uživatel mohl vkládat nekonečné množství telefonních čísel.
Použijme k tomu relační tabulku, takže nyní máte dvě tabulky.
+-------------------------------------+
+---------+ | Phone |
| Users | +-------------------------------------+
+---------+ | user_name| phone_number | type |
| U_name | +-------------------------------------+
+---------+
Nyní se můžete dotázat na všechna telefonní čísla uživatele pomocí něčeho podobného
Nyní můžete dotazovat tabulku pomocí spojení
SELECT Users., telefon. FROM Phone, Users WHERE phone.user_name =? AND Users.U_name =?
Vložky jsou stejně snadné a kontrola typu je také snadná.
Pamatujte si, že toto je jednoduchý příklad, ale SQL skutečně poskytuje vaší datové struktuře spoustu výkonu, měli byste ho raději používat, než se mu vyhýbat