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;