bla*_*iso 3 sql postgresql liquibase
我在 liquibase 变更集中编写了一个 sql 标签。该sql代码假设在名为“Purchase”的表中进行数据迁移。所以我有以下sql查询:
UPDATE purchase
SET location_id = (SELECT location_id FROM shop WHERE shop.id = purchase.shop_id);
Run Code Online (Sandbox Code Playgroud)
然后,
ALTER TABLE purchase DROP COLUMN shop_id;
Run Code Online (Sandbox Code Playgroud)
但在尝试执行第二个查询时出现以下错误,该查询应该删除表中的“shop_id”列
ERROR: cannot ALTER TABLE because it has pending trigger events
Run Code Online (Sandbox Code Playgroud)
请问这个错误是何时抛出的,我该如何解决它。
在我的liquibasechangese中,我的sql标签写如下
<sql>
UPDATE purchase
SET location_id = (SELECT location_id FROM shop WHERE shop.id = purchase.shop_id);
ALTER TABLE purchase DROP COLUMN shop_id;
</sql
Run Code Online (Sandbox Code Playgroud)
请问有人可以帮助我吗?在此先感谢您的帮助
听起来您需要在更改和更新之间提交更改。
尝试这个:
UPDATE purchase
SET location_id = (SELECT location_id FROM shop WHERE shop.id = purchase.shop_id);
COMMIT;
BEGIN;
ALTER TABLE purchase DROP COLUMN shop_id;
Run Code Online (Sandbox Code Playgroud)
“开始”;是可选的,但听起来您的框架正在使用事务,因此我将包含它并进行测试以确保更改实际上“进行”。
| 归档时间: |
|
| 查看次数: |
6810 次 |
| 最近记录: |