gpt4 book ai didi

sql - Postgresql INSERT 要求主键值?

转载 作者:行者123 更新时间:2023-11-29 11:56:17 24 4
gpt4 key购买 nike

运行 Postgres 9.6.6。我创建了一个表如下:

create table person (
id serial primary key,
name text,
role integer references role (id),
phonenumber text);

当我尝试按如下方式插入数据时:

insert into person values ('This Person',2,'+15105551111');

我收到这条消息:

ERROR: invalid input syntax for integer: 'This Person'

这表明 Postgres 需要 id 的值。但是如果 id 是一个串行主键,它不应该自动填充和自动递增吗?

最佳答案

如果不指定列名,值将应用于表中的前 n 列。因此 'This Person' 将应用于 id,因此您得到的错误。您可以(应该)指定列名以避免此问题:

INSERT INTO person
(name, role, phonenumber) -- Here
VALUES ('This Person', 2, '+15105551111');

关于sql - Postgresql INSERT 要求主键值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49469016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com