Kurze Antwort, mehrere Spalten.
Lange Antwort:
Aus Liebe zu allem, was in der Welt heilig ist, speichern Sie bitte nicht mehrere Datensätze in einer einzigen Textspalte
Ich gehe davon aus, dass Sie eine Tabelle haben werden, die entweder
+------------------------------+ +----------------------+
| User | cell | office | home | OR | User | JSON String |
+------------------------------+ +----------------------+
Zuerst werde ich sagen, dass diese beiden Lösungen nicht die beste Lösung sind, aber wenn Sie die von den beiden auswählen würden, ist die erste die beste. Dafür gibt es ein paar Gründe, obwohl die Fähigkeit zum Modifizieren und Abfragen wirklich wichtig ist. Denken Sie an den Algorithmus, um die zweite Option zu ändern.
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
Diese Lösung umfasst insgesamt 2 Abfragen und einen Such- und Ersetzungsalgorithmus. Nicht gut!
Denken Sie nun über die erste Lösung nach.
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` = ?
Das ist eindeutig besser, aber nicht das Beste
Es gibt noch eine dritte Lösung Angenommen, Sie möchten, dass ein Benutzer eine unbegrenzte Anzahl von Telefonnummern einfügen kann.
Verwenden wir dafür eine Beziehungstabelle, also haben Sie jetzt zwei Tabellen.
+-------------------------------------+
+---------+ | Phone |
| Users | +-------------------------------------+
+---------+ | user_name| phone_number | type |
| U_name | +-------------------------------------+
+---------+
Jetzt können Sie mit so etwas alle Telefonnummern eines Benutzers abfragen
Jetzt können Sie die Tabelle über einen Join abfragen
WÄHLEN Sie Benutzer., Telefon. FROM Telefon, Benutzer WO phone.user_name =? UND Users.U_name =?
Einfügungen sind genauso einfach und die Typprüfung ist ebenfalls einfach.
Denken Sie daran, dass dies ein einfaches Beispiel ist, aber SQL bietet Ihrer Datenstruktur wirklich eine Menge Leistung. Sie sollten es verwenden, anstatt es zu vermeiden