KraKi: MySQL array-Datentyp

Beitrag lesen

Moin moin,
also, immer wieder kommt es vor, dass ich in einer Datenbak eine ganze Reihe von Spalten benötige, die einander sehr ähnlich sind und die auch immer gemeinsam ausgelesen werden.

Normalerweise löse ich das so, dass ich bei einer bestimmten Anzahl von Spalten diese tatsächlich erstelle (und durchnummeriere) um anschließend mittels php darauf zuzugreifen.
Z.B. so:
id | Name | Spalte1 | Spalte2 | Spalte3 |
1  | foo  | 3       | 6       | 8       |
2  | bar  | 6       | 12      | 54      |

in php brauche ich aber

$sql_array[1]['Name'] = 'foo';  
$sql_array[1]['Spalten'][1] = 3;  
$sql_array[1]['Spalten'][2] = 6;  
$sql_array[1]['Spalten'][3] = 8;  
$sql_array[2]['Name'] = 'bar';  
$sql_array[2]['Spalten'][1] = 6;  
$sql_array[2]['Spalten'][2] = 12;  
$sql_array[2]['Spalten'][3] = 54;

mit anderen Worten, "Spalte" soll ein Array sein.

nun, wenn es eine unbestimmte Anzahl sein soll (oder auch eine bestimmte, ist ja egal), dann habe ich das gerne auch durch einen Seperator (ich hoffe das Wort gibt es im Deutschen) gelöst:

id | Name | Spalten |
1  | foo  | 3;6;8   |
2  | bar  | 6;12;54 |

$sql_array[1]['Name'] = 'foo';  
$sql_array[1]['Spalten'] = explode(';',$Spalten_string);  
$sql_array[2]['Name'] = 'bar';  
$sql_array[2]['Spalten'] = explode(';',$Spalten_string);  
//($Spalten_string bezeichnet hier natürlich den aus der Spalte "Spalten" ausgelesenen string)

Sieht schon mal besser aus, aber jetzt kommt das "Problem", ich halte es für einen unnötigen Speicherverbrauch diese integer-Werte als string (bzw. VARCHAR/TEXT/whatever) zu speichern. Das kommt insbesondere auch gerne dann vor, wenn ich auf eine Reihe anderer Zeilen in anderen Tabellen der selben Datenbank verweise.
Daher die Frage: Gibt es in mySQL einen passenden Array-Datentyp odr kennt jemand eine andere (bessere) Methode oder muss ich bei der zuletzt genannten Variante bleiben?

(Für arrays, die ohnehin aus strings bestehen ist das ja kein Problem).