gpt4 book ai didi

java - 如何刷新我的主键列?

转载 作者:搜寻专家 更新时间:2023-10-30 20:10:31 25 4
gpt4 key购买 nike

直到最近我还在使用 hibernate @Entity 注解映射到数据库表。所有主键都用@GeneratedValue注解(strategy = GenerationType.IDENTITY)

我有一个场景,我需要创建新模式并将数据从旧模式迁移到新模式。(几乎没有列更改,如删除、长度和类型)

成功将数据迁移到新模式表后,当我尝试使用应用程序插入数据时抛出异常

[ERROR] util.JDBCExceptionReporter DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, SQLERRMC=1; _NewSchema_._TableName_ , DRIVER=3.51.90

我认为应用程序正在尝试再次插入主键值从 1 开始的行,因为同一个应用程序在处理空表时工作正常。

我希望插入的数据行的主键值作为现有行主键的最大值。

如有任何帮助将不胜感激:)

最佳答案

是的,您可以通过更改表格来做到这一点。更改表并为 DB2 中的标识列设置起始索引。

假设 TBALE_A 的最大行数是 50 并且标识列的名称是 TABLE_ID

ALTER TABLE TBALE_A ALTER COLUMN TABLE_ID
RESTART WITH 51

关于java - 如何刷新我的主键列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15761755/

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