序列列不递增(SQL Server 2012)

Sequenced column not incrementing (SQL Server 2012)

我正在尝试向现有的 table 添加一个 id 列,因为需要它来解决 Hibernate 的问题。因此,我想向 table 添加一个 id 列,这将是 table 的主键,并且每一行都将获得一个从 1 开始递增的值,直到 table 中的最后一行=20=]。但是,该列目前仅将每行的值设为零 (0)。我怎样才能让它正确增加?谢谢。

我有以下 SQL- 查询:

ALTER TABLE service_history
ADD id BIGINT NOT NULL DEFAULT nextval('service_history_seq')
GO
PRIMARY KEY (id)
CREATE SEQUENCE service_history_seq AS BIGINT START WITH 1 INCREMENT BY 1

在 ServiceHistory 实体中,我有以下代码:

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "serviceHistorySeq")
@SequenceGenerator(name = "serviceHistorySeq", sequenceName = "service_history_seq", allocationSize = 1)
private Long id;

看来您可能会混淆 MYSQL 或 Oracle 与 Microsoft SQL。您想要一个像这样编码的标识列

ALTER TABLE service_history ADD id BIGINT IDENTITY(1,1)

这是一个link