【问题标题】:Auto generate table id自动生成表id
【发布时间】:2021-10-30 12:52:39
【问题描述】:

我使用这个 SQL 查询将测试数据生成到表中:

INSERT into onboarding_tasks SELECT generate_series(1,10) AS id,
    ('ABC name ' || generate_series(1,10)) AS business_name;

如您所见,id 范围编号是固定的,如果错误,我会得到重复。如何以数据库自动生成 id 的方式编辑此 SQL 查询?

在 Hibernate 中,我使用此代码创建 id:

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", unique = true, updatable = false, nullable = false)
private Long id;

【问题讨论】:

  • 与您的问题无关,但是:Postgres 9.1 是no longer supported,您应该尽快计划升级。
  • 好的,我会更新的。

标签: sql postgresql jpa postgresql-9.1


【解决方案1】:

您将首先定义表格:

create table onboarding_tasks (
    id int generated always as identity,
    business_name text
);

INSERT into onboarding_tasks (business_name)
    SELECT ('ABC name ' || generate_series(1,10)) AS business_name;

【讨论】:

  • 我添加了用于创建表的实体代码。你知道正确吗?
猜你喜欢
  • 2011-01-11
  • 2017-08-25
  • 2013-02-04
  • 1970-01-01
  • 2012-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多