sql >> Database >  >> RDS >> PostgreSQL

Hoe voeg ik in Postgres waarden uit twee arrays in een tabel in?

Je cast is verkeerd, je kunt text niet uit elkaar halen .

Probeer

INSERT INTO mytable (x, y)
  SELECT
    unnest('{x1, x2, x3}' :: TEXT []),
    unnest('{y1, y2, y3}' :: TEXT []);

Merk op dat deze vorm van select zich vreemd gedraagt ​​als beide arrays niet dezelfde lengte hebben.

Met de unnest-functie in postgres 9.4+ kunt u meerdere arrays uitbreiden met één array per uitvoerkolom:

INSERT INTO mytable
  SELECT *
  FROM unnest('{x1, x2, x3}' :: TEXT [], '{y1, y2, y3, y4}' :: TEXT [])


  1. Heeft MySQL Foreign_key_checks invloed op de hele database?

  2. Gebruik belofte om MySQL-retourwaarde te verwerken in node.js

  3. Hoe kan ik in Oracle de datum detecteren waarop de zomertijd begint / eindigt?

  4. Onjuiste syntaxis bij het trefwoord 'met'.