首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgreSQL插入多维阵列

PostgreSQL插入多维阵列
EN

Database Administration用户
提问于 2022-10-13 14:31:32
回答 1查看 277关注 0票数 0

我花了几个小时研究PostgreSQL插入数组文档和示例。但我只是越来越困惑。

我已经创建了表word_mash_word_cube_definitions,其中列definitiontext[]类型。

在创建列时,我使用了text[][]。但\d+将其显示为text[]

在PHP中,数组是:

代码语言:javascript
复制
$design[1] = [ 'letter' => null , 'direction' => 'down' , 'x-axis' => 7 , 'y-axis' => 3 ];
$design[2] = [ 'letter' => null , 'direction' => 'left' , 'x-axis' => 7 , 'y-axis' => 4 ];
$design[3] = [ 'letter' => null , 'direction' => 'up' , 'x-axis' => 6 , 'y-axis' => 4 ];
$design[4] = [ 'letter' => null , 'direction' => 'left' , 'x-axis' => 6 , 'y-axis' => 3 ];
$design[5] = [ 'letter' => null , 'direction' => 'down' , 'x-axis' => 5 , 'y-axis' => 3 ];
$design[6] = [ 'letter' => null , 'direction' => 'down' , 'x-axis' => 5 , 'y-axis' => 4 ];

我的目标是将整个数组存储在一行中。但我不知道这是否可能。

请给我看一下正确的

代码语言:javascript
复制
INSERT INTO word_mash_word_cube_definitions ( definition ) VALUE ( ??? )

我迷路了。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2022-10-13 19:44:46

如果您需要存储键控/关联数组,那么使用JSON代替text[]列。将列类型设置为jsonb,并在PHP中使用json_encode($design)并存储结果字符串。读取该行时,使用json_decode($design, true)将其转换回原来的PHP数组。

以这种方式存储它可以提供格式验证和PostgreSQL函数,以便在JSON中进行查询。

这种方法有一些限制,特别是在字符编码方面,如果你在应用程序中添加外语支持的话,这将变得非常重要。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/318184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档