Как добавить записи в postgeSQL с помощью pgAdmin4 - PullRequest
0 голосов
/ 15 декабря 2018

Я создал таблицу в pgAdmin4:

CREATE TABLE public."Aktor"(            --tableWithActors
        "ID" bigint[] NOT NULL,         --id
        "Imie" "char"[] NOT NULL,       --name
        "Nazwisko" "char"[] NOT NULL,   --surname
        "DataUrodzenia" date,           --dateOfBirth
        "Wzrost" integer,               --height
        CONSTRAINT "Aktor_pkey" PRIMARY KEY ("ID")
);

И теперь я использую для этой таблицы параметр: Скрипты> INSERT Script для вставки данных в таблицу

INSERT INTO public."Aktor"(
         "Imie", "Nazwisko", "DataUrodzenia", "Wzrost")
VALUES ('Sylvester', 'Stallone', '1946-07-16', '177');

Когда явыполнить, система вернет:

ERROR: BŁĄD: nieprawidłowy literał tablicy: "Sylvester" LINE 3: VALUES ('Sylvester', 'Stallone', '1946-07-16', '177'); ^ DETAIL: Wartość tablicy musi zaczynać się od "{" lub informacji o wymiarze. 
SQL state: 22P02 
Character: 87

Ошибка pgAdmin4 при вставке (SCREENSHOT) Как правильно написать?

1 Ответ

0 голосов
/ 15 декабря 2018

Вы объявили столбцы массивами.Я также избавился бы от экранированных имен:

CREATE TABLE public.Aktor (            --tableWithActors
        ID bigint serial,         --id
        Imie varchar(255) NOT NULL,       --name
        Nazwisko varchar[] NOT NULL,   --surname
        DataUrodzenia date,           --dateOfBirth
        Wzrost integer,               --height
        CONSTRAINT Aktor_pke PRIMARY KEY (ID)
);

Здесь - это скрипта db <>.

Примечания:

  • Строки в SQL не являются массивами.Это просто varchar() с.
  • id должно быть автоматически увеличено.В Postgres, который использует тип serial.
  • Экранированные имена просто громоздки.Не используйте их, если можете их избежать.
  • Для этой структуры данных нет необходимости в массивах.
...