Ich glaube, es wurde nicht genügend Zeit darauf verwendet, die im ursprünglichen Beitrag angesprochenen Schemaüberlegungen zu berücksichtigen. Also, hier ist etwas für Neulinge zu beachten.
Angenommen, Sie haben diese Lösung entwickelt. Alle Ihre einfachen Werte werden zu einem einzigen Wert zusammengefasst und in der Datenbank gespeichert. Sie sparen in der Tat [ein wenig] Speicherplatz in Ihrer Datenbank und etwas Zeit beim Codieren.
Betrachten wir nun, dass Sie die häufige und einfache Aufgabe ausführen müssen, ein neues Kontrollkästchen zwischen den aktuellen Kontrollkästchen 3 und 4 hinzuzufügen. Ihr Entwicklungsmanager, Kunde, was auch immer dies erwartet, ist eine einfache Änderung.
Sie fügen also das Kontrollkästchen zur Benutzeroberfläche hinzu (der einfache Teil). Ihr Schleifencode würde die Werte bereits verketten, unabhängig von der Anzahl der Kontrollkästchen. Sie stellen auch fest, dass Ihr Datenbankfeld nur ein Varchar oder ein anderer Zeichenfolgentyp ist, sodass es auch in Ordnung sein sollte.
Was passiert, wenn Kunden oder Sie versuchen, die Daten vor der Änderung anzuzeigen? Sie serialisieren im Wesentlichen von links nach rechts. Jetzt sind die Werte nach 3 jedoch alle um 1 Zeichen versetzt. Was machen Sie mit all Ihren vorhandenen Daten? Schreiben Sie eine Anwendung, ziehen Sie alles wieder aus der Datenbank, verarbeiten Sie es, um einen Standardwert für die neue Fragenposition hinzuzufügen, und speichern Sie es dann wieder in der Datenbank? Was passiert, wenn Sie im Abstand von einer Woche oder einem Monat mehrere neue Werte haben? Was ist, wenn Sie die Standorte verschieben und jQuery sie in einer anderen Reihenfolge verarbeitet? Alle Ihre Daten sind abgespritzt und müssen erneut verarbeitet werden, um sie neu anzuordnen.
Das gesamte Konzept, KEINE enge Schlüssel-Wert-Beziehung bereitzustellen, ist ludacris und wird Sie eher früher als später in Schwierigkeiten bringen. Für diejenigen unter Ihnen, die dies in Betracht ziehen, bitte nicht. Die anderen Vorschläge für Schemaänderungen sind in Ordnung. Verwenden Sie eine untergeordnete Tabelle, mehr Felder in der Haupttabelle, eine Frage-Antwort-Tabelle usw. Speichern Sie nur keine nicht beschrifteten Daten, wenn sich die Struktur dieser Daten ändern kann.