Sven Rautenberg: MySQL array-Datentyp

Beitrag lesen

Moin!

Das ist eine gute Idee, wenn ich dich richtig verstehe meinst ich solle eine neue Tabelle anlegen mit nur zwei Spalten (id + Wert) und in der Ursprungstabelle den "Bereich" in zwei Spalten speichern (id_min + id_max)

Nein. Drei Spalten.

Eine aus Prinzip für einen Primärschlüssel.

Und als relevante Werte dann einmal die ID aus der Haupttabelle, und den Wert.

Wenn das hier deine Haupttabelle ist:

id | Name | Spalten |
1  | foo  | 3;6;8   |

ändert sich diese zu:
h_id | Name |
1  | foo  |

und die Nebentabelle wird zu:
s_id | h_id | wert
1    |  1   |  3
2    |  1   |  6
3    |  1   |  8

Beachte: Gleiche IDs heißen bei mir auch gleich. h_id ist, egal in welcher Tabelle, immer die id der Tabelle "h". Hat den Vorteil, dass man im JOIN die Verknüpfung dieser zwei gleichnamigen ID-Spalten mit "USING (h_id)" hinkriegt.

- Sven Rautenberg

--
"Love your nation - respect the others."