文档首页/ 云数据库 GaussDB(for MySQL)/ 故障排除/ SQL类/ 报错ERROR [1412]的解决方法
更新时间:2024-09-05 GMT+08:00

报错ERROR [1412]的解决方法

场景描述

连接GaussDB(for MySQL)执行SQL时,出现如下报错:

ERROR[1412]:Table definition has changed, please retry transaction``

原因分析

启动一致性快照事务后,其他会话(session)执行DDL语句导致。问题复现步骤:

  1. 会话1启动一致性快照事务。

  2. 会话2执行DDL操作,修改表结构。

  3. 会话1执行普通的查询语句。

也可以通过Binlog或者审计日志,分析业务侧是否有同一个表DDL和一致性快照事务一起执行的情况。

解决方案

若经排查,是由上述原因引起的报错,需要业务侧避免同一个表的DDL语句和一致性快照事务同时执行。