如何插入id(自动增量)PostgREST的记录?

时间:2018-04-10 12:30:48

标签: postgresql vuejs2 axios postgrest

我有一个功能

        axios.post('http://localhost:3000/unitsmeasure', {
            id: 20,
            name: 'name'
        })
        .then(function (response) {
            console.log(response);
        })
        .catch(function (error) {
            console.log(error);
        });

它在表格中插入一个条目。它的作品。

但是当我没有指定id时它不起作用。 id(serial PRIMARY KEY)。

        axios.post('http://localhost:3000/unitsmeasure', {
            name: 'name'
        })
        .then(function (response) {
            console.log(response);
        })
        .catch(function (error) {
            console.log(error);
        });

这不起作用

SQL表:

CREATE TABLE "unitsmeasure" (
  "id" serial PRIMARY KEY,
  "name" varchar(100)
)

SQL Dump:

CREATE TABLE "unitsmeasure" (
  "id" int8 NOT NULL DEFAULT nextval('"Request".unitsmeasure_id_seq'::regclass),
  "name" varchar(100) COLLATE "pg_catalog"."default"
);
ALTER TABLE "unitsmeasure" OWNER TO "postgres";

ALTER TABLE "unitsmeasure" ADD CONSTRAINT "unitsmeasure_pkey" PRIMARY KEY ("id");

1 个答案:

答案 0 :(得分:0)

最可能的罪魁祸首是没有授予该序列的使用权限。

试试这个:

GRANT USAGE ON SEQUENCE unitsmeasure_id_seq TO user_name;

插入用户需要访问序列才能从序列中插入值。