如果表中的 id 字段上有主键,如何在表中插入值?

安东·格里杜斯科

我有麻烦,我有一个名为 my_table 的表)

id name
1 A
2 B
3 C

我想插入前 2 个,所以值有自动增量,像这样

insert into my_table (name) values (A), (B); 

这在 postgressql 中可能吗?

可能我应该有 count( ) + 1,然后 count( ) + 2 这里

insert into my_table (id, name) values (count(*) + 1, A), (count(*) + 2, B);

或类似的东西,因为我的 id 有限制

BIGSEREIAL PRIMARY KEY NOT NULL

而且我无法在没有获得表中最后一个 id 的情况下添加值。

穿刺者

你可以做:

create table my_table (
  id int not null generated always as identity,
  name varchar(10) not null
);

insert into my_table (name) values ('A'), ('B');

然后:

select * from my_table;

结果:

id  name
--  ----
 1  A   
 2  B   

请参阅db<>fiddle 上的运行示例

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何更改表中的现有主键?

如果id = 0,则返回父表中的所有记录

如果另一个表中存在id,则更新表数据

如何在关系表(laravel)中自动插入用户ID?

如何在表中插入值或更新值(如果表中已存在)

如果在表2中存在MySQL,请从表1中选择所有数据,并通过ID从表2中选择替换值

如何在表中查找最大值,如果存在相同的值,则从找到的数据中最小的ID中检索数据(mysql 5.5.36)

Django ORM:如果表A在表B中具有相同的id(FK),则从表A中选择行;如果满足条件,则在其中选择A中的行:

检查2个表是否具有相同的ID,如果表2中存在表1中的ID,则在列中返回1/0

如果主ID都以1开头,如何从第二个表中插入sql表中的附加值?

如何在表中插入一条记录,使ID为string的字段?

将属于表1中所选值的主键ID插入表2中

如果表中存在值(不是主键),是否返回表ID(主键)?

如果SQL中的ID相同,如何从两个表中获取值

如果不与其他表共享ID,如何从SQL中跳过值

如果ID在列中,如何从表中删除数据

如何从具有主键自动递增的表中向具有外键的表中插入数据?

与其他表中的主键相关的更新一个表中的ID字段

插入查询完成后,如何从表中获取自动生成的主键ID?

如何在没有主键或ID字段的表中查找重复项?

如何显示与HTML中的另一个表的外键有关系的html文本框中的表的最后插入的ID(主键)

如何在模型中为没有主键的原始查询传递 Id?

如何在 Entity Framework Core 中创建没有主键的表?

如果标签 A 在表中,我如何找到数据 ID?

如何在没有主键的情况下引用表中的记录

如果没有记录 ID,在一个表中查找不在另一个表中的记录?

当有主键时,如何在 Android 中使用 Dao Room 将 List 插入到表中

如果它们的 id 在另一个表中的序列化值中,则从表中获取行

如何在查询中插入名称字段,但向表中传递该名称的相应 id