Mysql中使用多维数组的一种常见存储方案是将多维数组拆分成多个表,然后通过外键来建立关联关系。
例如,假设要存储一个二维整数数组,可以创建两个表:
array
表,用于存储数组的元数据,例如行数、列数等信息。
id | rows | cols |
---|---|---|
1 | 3 | 4 |
array_values
表,用于存储数组的值,其中row
和col
列是外键,关联到array
表中的id
列。
id | row | col | value |
---|---|---|---|
1 | 0 | 0 | 1 |
2 | 0 | 1 | 2 |
3 | 0 | 2 | 3 |
4 | 0 | 3 | 4 |
5 | 1 | 0 | 5 |
6 | 1 | 1 | 6 |
7 | 1 | 2 | 7 |
8 | 1 | 3 | 8 |
9 | 2 | 0 | 9 |
10 | 2 | 1 | 10 |
11 | 2 | 2 | 11 |
12 | 2 | 3 | 12 |
可以看到,每个数组元素都被存储成一个行,row
和 col
列用于标识该元素在数组中的位置。这种方式可以使得多维数组的查询变得更加灵活,也方便进行增删改操作。