如何通过pgAdmin4在PostgeSQL中添加记录

时间:2018-12-15 17:46:16

标签: sql postgresql sql-insert

我在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脚本

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 error when I insert (SCREENSHOT) 我应该如何正确书写?

1 个答案:

答案 0 :(得分:0)

您已将列声明为数组。我还将摆脱转义的名字:

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)
);

Here是db <>小提琴。

注意:

  • SQL中的字符串不是数组。它们只是varchar()
  • id应该自动递增。在Postgres中,它使用serial类型。
  • 转义的名称很麻烦。如果可以避免,请不要使用它们。
  • 此数据结构不需要数组。