我有下表(让我们称之为TBL),我正在尝试从中删除主键。底层数据库是H2。
<createTable tableName="TBL">
<column name="ID" type="BIGINT">
<constraints primaryKey="true" primaryKeyName="TBL_PK"/>
</column>
...
尝试在以后的变更集中使用以下脚本,我遇到了以下错误。
<dropPrimaryKey tableName="TBL" constraintName="TBL_PK" />
错误:
Caused by: org.h2.jdbc.JdbcSQLException: Index "PRIMARY_KEY_xx" belongs to a constraint; SQL statement:
ALTER TABLE TBL DROP PRIMARY KEY [90085-140]
知道我缺少什么吗?
我知道有dropIndex
,但我不知道如何定位PRIMARY_KEY_xx
(以便在以后的阶段保持通用)。
答案 0 :(得分:1)
我猜这个问题与H2 db有关。当您创建PK时,它会创建一些约束。
尝试用查询找到它:
select * from information_schema.constraints where table_name='TBL' and column_list='ID'