小编Lar*_*gas的帖子

psql:id SERIAL PRIMARY KEY 不是以 1 开头?

这是我不明白的地方,有人可以解释一下吗?

我创建一个表

CREATE TABLE cali (id SERIAL PRIMARY KEY,
    ALK_from char,
    ALK_to char,
    AND_from char,
    AND_to char);
Run Code Online (Sandbox Code Playgroud)

然后我只是尝试像这样从 csv 文件中插入一些数据

\COPY cali FROM '/home/.../data/output/id_cali.csv' (FORMAT CSV);
Run Code Online (Sandbox Code Playgroud)

这给了我这个错误:

ERROR:  value "4372840000" is out of range for type integer
CONTEXT:  COPY cali, line 1, column id: "4372840000"
Run Code Online (Sandbox Code Playgroud)

我知道 4372840000 会导致整数溢出。这就是为什么我首先尝试将值作为字符插入。

但我的理解是,这id SERIAL PRIMARY KEY是某种自动增量,为什么值 4372840000 用于列id

该文件看起来像这样

4372840012,4372840013,13,14,
4372840014,4372840014,15,15,
Run Code Online (Sandbox Code Playgroud)

postgresql bulkcopy serialization

1
推荐指数
1
解决办法
4669
查看次数

标签 统计

bulkcopy ×1

postgresql ×1

serialization ×1