Postgres嵌套数组语法有问题

问题描述

我正在寻找有关进行此插入的最佳方法的指导。我试图为role_id 58385创建11个条目,同时循环遍历每个数组的值。我是PostgreSQL的新手,需要有关我在这种情况下做错了什么的指导。

INSERT INTO public.acls (role_id,acl_id,update,can_grant,retrieve,create,archive) VALUES (
           '58385',unnest(array[1,14,20,21,22,24,25,26,36,300,302]),unnest(array[f,f,t,t]),f]),unnest(array[t,f])
           )

每个数组都需要一个SELECT子查询吗?或者我可以从六个数组中创建一个数组并将其插入。

解决方法

一个select会为您完成,但是tf必须是truefalse

select '58385',unnest(array[1,14,20,21,22,24,25,26,36,300,302]),unnest(array[false,false,true,true]),false]),unnest(array[true,false])
;
 ?column? | unnest | unnest | unnest | unnest | unnest | unnest 
----------+--------+--------+--------+--------+--------+--------
 58385    |      1 | f      | f      | t      | f      | f
 58385    |     14 | f      | f      | t      | f      | f
 58385    |     20 | t      | f      | t      | t      | f
 58385    |     21 | t      | f      | t      | t      | f
 58385    |     22 | f      | f      | t      | f      | f
 58385    |     24 | f      | f      | t      | f      | f
 58385    |     25 | f      | f      | t      | f      | f
 58385    |     26 | t      | f      | t      | t      | f
 58385    |     36 | f      | f      | t      | f      | f
 58385    |    300 | t      | f      | t      | t      | f
 58385    |    302 | t      | f      | t      | t      | f
(11 rows)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...