
# RDS MySQL报错ERROR \[1412\]的解决方法
#### 场景描述
连接RDS MySQL执行SQL时，出现如下报错：
```
ERROR[1412]:Table definition has changed, please retry transaction
```
#### 原因分析
启动一致性快照事务后，其他会话（session）执行DDL语句导致。问题复现步骤：
1. 会话1启动一致性快照事务。 ![](https://support.huaweicloud.com/trouble-rds-mysql/zh-cn_image_0000002212062740.png)
   
2. 会话2执行DDL操作，修改表结构。 ![](https://support.huaweicloud.com/trouble-rds-mysql/zh-cn_image_0000002247142529.png)
   
3. 会话1执行普通的查询语句。 ![](https://support.huaweicloud.com/trouble-rds-mysql/zh-cn_image_0000002212222520.png)
   
也可以通过Binlog或者审计日志，分析业务侧是否有同一个表DDL和一致性快照事务一起执行的情况。
#### 解决方案
若经排查，是由上述原因引起的报错，需要业务侧避免同一个表的DDL语句和一致性快照事务同时执行。
