擅长:python、mysql、java
<p>您可以尝试从数据创建json,然后使用<code>json_populate_record(..)</code>从json创建行集。在</p>
<pre><code>postgres=# create table js_test (id int4, dat timestamp, val text);
CREATE TABLE
postgres=# insert into js_test
postgres-# select (json_populate_record(null::js_test,
postgres(# json_object(array['id', 'dat', 'val'], array['5', null, 'test']))).*;
INSERT 0 1
postgres=# select * from js_test;
id | dat | val
+ -+
5 | | test
</code></pre>
<p>您可以使用<code>json_populate_recordset(..)</code>一次性对多行执行相同的操作。只需传递json<strong>值</strong>,这是json的数组。确保它不是json数组。在</p>
<p>这样就可以了:<code>'[{"id":1,"dat":null,"val":6},{"id":3,"val":"tst"}]'::json</code></p>
<p>这不是:<code>array['{"id":1,"dat":null,"val":6}'::json,'{"id":3,"val":"tst"}'::json]</code></p>
^{pr2}$