数据库更新,返回ERR-CODE: [TDDL-4603]
知识问答作者:U大使日期:2021-01-24点击:259
在使用python的pymysql模块对PolarDB-X数据库进行更新时,返回pymysql.err.OperationalError: (3009, '1199a7f35c001000-1[zrr]ERR-CODE: TDDL-4603 Transaction accross db is not supported in current transaction policy, transaction node is: ZRR_1533807420910VSYS_LANP_0003, but this sql execute on: ZRR_1533807420910VSYS_LANP_0002. '),如何解决
where 条件后面加上分库分表时候设置的键名,这个一般不是主键的名称,如果使用的是navicate,可以右键表名然后最下面有个对象信息,点进去以后看那个ddl里面的一般是最后有dbpartition和tbpartition
PolarDB-X 是阿里的吧。
原因:跨库事务失败。PolarDB-X默认仅支持单库事务,即事务中的所有SQL语句都必须按规则转发到相同RDS MySQL分库执行。否则,将提示TDDL-4603错误。