这是我不明白的地方,有人可以解释一下吗?
我创建一个表
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)