【 使用环境 】生产环境
【 OB or 其他组件 】OMS
【 使用版本 】4.2.2_CE
OB 4.x
mysql 5.7.25
OB-> Mysql
【问题描述】
表schema
CREATE TABLE pay_order (
_hd_shard
varchar(128) NOT NULL DEFAULT ‘’,
id
bigint(20) unsigned NOT NULL,
pay_order_id
bigint(20) unsigned,
order_id
bigint(20) unsigned,
sub_order_id
bigint(20) unsigned,
cart_id
bigint(20) unsigned,
status
tinyint(3) unsigned,
pay_fee
bigint(20) unsigned,
currency_type
varchar(50),
discount_amount
bigint(20),
discount_detail
longtext,
pay_time
bigint(20) unsigned,
pay_timeout
bigint(20) unsigned,
pay_gate
int(11) unsigned,
pay_gate_oid
varchar(255),
pay_channel
int(11) unsigned,
pay_channel_oid
varchar(255),
pay_gate_notify_info
longtext,
business_line
varchar(32),
shop_id
bigint(20) unsigned,
seller_id
bigint(20) unsigned,
buyer_id
bigint(20) unsigned,
attributes
longtext,
attributes_cc
int(11) unsigned,
return_data
text,
version
int(11) unsigned,
create_time
bigint(20) unsigned,
update_time
bigint(20) unsigned,
pay_biz_type
int(10) unsigned,
pay_channel_detail
longtext,
sub_status
int(11) unsigned,
pay_scene
varchar(32),
actual_pay_fee
bigint(20) unsigned,
pay_balance
bigint(20) unsigned,
pay_balance_detail
longtext,
PRIMARY KEY (_hd_shard
,id
))
PARTITION BY HASH (id)
PARTITIONS 10;
OMS的UPDATE语句
UPDATE kwaishoppaycenterpayorder
.pay_order
SET _hd_shard
= ‘24312:gifshow.pay_order_212’, id
= ‘29896541’, pay_order_id
= ‘2415000200824212’, order_id
= ‘2415000200824212’, sub_order_id
= ‘0’, cart_id
= ‘0’, status
= ‘40’, pay_fee
= ‘2990’, currency_type
= ‘CNY’, discount_amount
= ‘0’, discount_detail
= null, pay_time
= ‘1716978064143’, pay_timeout
= ‘1716978961891’, pay_gate
= ‘1’, pay_gate_oid
= ‘OPCORE703124563805465730’, pay_channel
= ‘2000’, pay_channel_oid
= ‘2024052922001478541405346749’, pay_gate_notify_info
= ‘{“accountGroupKey”:null,“accountId”:“268802212”,“attach”:"{\“1\”:268802212,\“2\”:1,\“3\”:0}",“code”:null,“createTime”:null,“currencyType”:“CNY”,“data”:"{\“PAY_AMOUNT_INFO\”:{\“actual_pay_amount\”:2990,\“kspay_promo_discount_amount\”:0,\“provider_promo_discount_amount\”:0,\“book_balance_pay_amount\”:0},\“CASHIER_SOURCE_TAG\”:\“NATIVE2_IN_APP\”,\“PROVIDER_PRODUCT_CODE\”:\“PINGAN_JZB\”,\“GATEWAY_FUND_BILL\”:{\“provider\”:\“ALIPAY\”,\“amount\”:2990,\“actual_pay_amount\”:2990,\“payment_method\”:\“PAP\”,\“provider_trade_no\”:\“2024052922001478541405346749\”,\“provider_pay_amount\”:2990,\“book_balance_pay_amount\”:0,\“provider_user_id\”:\“2088522652178549\”,\“provider_channel_type\”:\“NORMAL\”},\“OUT_SETTLE_PARAM\”:{\“settle_params\”:[{\“seller_account_id\”:\“3370396919\”,\“account_group_key\”:\“MERCHANT_SELLER\”,\“amount\”:2990,\“receiver_params_post_position\”:true,\“goods_infos\”:[{\“goods_name\”:\"【爆款!29.9元42袋!】地中海黑咖啡 口感醇厚 便携包装 1.5g/袋\",\“goods_category\”:\“其他固体饮料\”,\“goods_unit_price\”:2990,\“goods_quantity\”:1,\“goods_type\”:\“PHY\”,\“goods_id\”:\“22200119511919\”}]}],\“need_merge_pay\”:false}}",“merchantId”:“GM712131691323525399”,“msg”:null,“notifyTime”:1716978064153,“oppositeAccount”:null,“oppositeAccountName”:null,“orderAmount”:2990,“orderPayNo”:“OPCORE703124563805465730”,“orderState”:“SUCCESS”,“orderStateDesc”:“支付成功”,“outOrderNo”:“2415000200824212”,“paymentTime”:1716978064143,“settleChannel”:“KSPAY_GATEWAY”,“sign”:null,“version”:“1.0”}’, business_line
= ‘KWAISHOP’, shop_id
= ‘5003661804’, seller_id
= ‘3370396919’, buyer_id
= ‘268802212’, attributes
= ‘{“budgetReduceTag”:2,“carrierInfo”:{“carrierId”:0,“carrierType”:29},“cpsInfo”:{“distributorId”:0},“grayType”:1,“itemDTO”:{“itemId”:22200119511919,“skuNum”:1,“skuPrice”:2990},“itemLabels”:[],“orderActivities”:[{“activityId”:888530519,“activityType”:4,“alipayFqFeeSellerLevel”:"",“installmentNum”:1,“installmentProductNo”:“ALIPAY_PAY_AFTER_USE”,“installmentType”:2,“merFeeRateTemplated”:0},{“activityId”:888530619,“activityType”:7,“alipayFqFeeSellerLevel”:"",“installmentNum”:1,“installmentProductNo”:“WECHAT_PAY_AFTER_USE”,“installmentType”:2,“merFeeRateTemplated”:0}],“orderType”:0,“payLocationType”:1000,“payOrderFeeDTO”:{“expressFee”:0,“goodsFee”:2990,“orderTotalPaymentFee”:0},“payServiceAbility”:0,“payServiceScene”:0,“pinganB2bLargeAmountOrder”:false,“preSelectInstallmentNo”:"",“preSelectPayChannel”:“ALIPAY”,“refunds”:[{“refundFee”:2990,“refundOutBizNo”:“2415000059912212_FEO1607220366”,“refundPrepaidCardAmount”:0}],“relateOrderId”:0,“sessionId”:“77fcf6eb-99b8-4dd5-9bcd-2db81abd640d”,“zeroOrder”:false}’, attributes_cc
= ‘0’, return_data
= ‘’, version
= ‘2’, create_time
= ‘1716978062019’, update_time
= ‘1716978113600’, pay_biz_type
= ‘1’, pay_channel_detail
= ‘{“payChannelCode”:“ALIPAY”,“paymentMethod”:“PAP”,“provider”:“ALIPAY”,“providerChannelType”:“NORMAL”,“providerProductCode”:“PINGAN_JZB”,“settleChannel”:“KSPAY_GATEWAY”}’, sub_status
= ‘0’, pay_scene
= ‘’, actual_pay_fee
= ‘2990’, pay_balance
= ‘0’, pay_balance_detail
= null WHERE _hd_shard
= ‘24312:gifshow.pay_order_212’ and id
= ‘29896541’ and pay_order_id
= ‘2415000200824212’ and order_id
= ‘2415000200824212’…;
这里where条件里的主键列都是加引号使用了字符类型,没有使用实际表里的列类型,例如id是bigint,这里使用了varchar类型,
这里的增量数据更新能使用列的原始类型吗?
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):