你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

MySQLSyntaxErrorException: Unknown column ‘context‘ in ‘field list‘

2021-11-14 15:27:22

bug原图如下: 这是个经典错误,是由于字段和mysql表中的设计不一样:可能个数,类型等

解决方法有:

1. sql写错,如缺少字段,使用系统自带占用词

2. sql传入类型和数据库类型不匹配

3. 如果你和我一样用了seata分布式事务的话,需要注意:

注意在seata版本是0.7.0+之后,增加了context字段,在undo_log表中加上即可

需要分布式业务的事务库中都需要提供一个undo_log表

CREATE TABLE `undo_log` (

  `id` bigint(20) NOT NULL AUTO_INCREMENT,

  `branch_id` bigint(20) NOT NULL,

  `xid` varchar(100) NOT NULL,

  `context` varchar(128) NOT NULL,

  `rollback_info` longblob NOT NULL,

  `log_status` int(11) NOT NULL,

  `log_created` datetime NOT NULL,

  `log_modified` datetime NOT NULL,

  PRIMARY KEY (`id`),

  UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;