Sie haben eine Viele-zu-Viele-Beziehung zwischen Eigenschaften und Annehmlichkeiten. Um dies zu modellieren, benötigen Sie eine separate Tabelle, keine variable Anzahl von Spalten.
Es gibt eine Tabelle, die Ihre Eigenschaften speichert.
INSERT INTO property (id, address, square_footage...) VALUES (111, '123 Main St', 1234...)
Es gibt einen Tisch, der alle möglichen Annehmlichkeiten speichert.
INSERT INTO amenities (id, type, description) VALUES (222, 'Unit Features', 'Air Conditioning');
Fügen Sie für jede Annehmlichkeit einer Immobilie eine Zeile in die Tabelle ein, die sich auf diese beiden bezieht:
INSERT INTO property_amenitities (property_id, amenity_id) VALUES (111, 222);
Wenn Sie wissen möchten, welche Ausstattung ein bestimmtes Objekt hat, einfach SELECT
alle Zeilen aus dieser Tabelle für den Schlüssel dieser Eigenschaft. Wenn Sie Kontrollkästchen für alle Annehmlichkeiten ausdrucken möchten, SELECT
aus den amenities
Tabelle und führen Sie einen LEFT OUTER JOIN
durch zu den property_amenities
Tisch. Diese Zeilen mit Nullwerten aus property_amenities
Tabelle sind die Kästchen, die nicht angekreuzt sind.
Verwandte Lektüre . Sie sollten sich ein Buch über relationale Datenbanken von Ihren lokalen BORDERS besorgen, bevor sie ihr Geschäft einstellen :)