sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan indsætter jeg værdier i en tabel fra to arrays i Postgres?

Din cast er forkert, du kan ikke fjerne text .

Prøv

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

Bemærk, at denne form for udvælgelse opfører sig mærkeligt, hvis begge arrays ikke er lige lange.

Unnest-funktionen i postgres 9.4+ giver dig mulighed for at udvide flere arrays ved at bruge et array pr. outputkolonne:

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


  1. Skift/nulstil postgresql brugeradgangskode på Windows 7

  2. Sådan sender du en HTML-e-mail fra SQL Server (T-SQL)

  3. Liste alle tabeller, der indeholder et givet kolonnenavn

  4. Indstil resultatet af MySQL-forespørgsel i en JComboBox