wintercoder/datamaker

json字符串被截断了

Closed this issue · 2 comments

建表sql:

CREATE TABLE commodity_spu_backflow_data (
id bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',
area_name varchar(128) NOT NULL DEFAULT 'CH' COMMENT 'CH=大陆,HK=香港,JP=日本,TW=**,MO=澳门',
spu_id bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '商品spu_id',
daily_date date NOT NULL COMMENT '数据发生日期,不是同步日期',
sold_num int(10) unsigned NOT NULL DEFAULT '0' COMMENT '日销量',
favorite_num int(10) unsigned NOT NULL DEFAULT '0' COMMENT '日收藏数',
search_click_num int(10) unsigned NOT NULL DEFAULT '0' COMMENT '日搜索结果页商品点击次数',
search_exposure_num int(10) unsigned NOT NULL DEFAULT '0' COMMENT '日搜索结果页商品曝光次数',
search_click_people_num int(10) unsigned NOT NULL DEFAULT '0' COMMENT '日搜索结果页商品点击人数',
search_exposure_people_num int(10) unsigned NOT NULL DEFAULT '0' COMMENT '日搜索结果页商品曝光人数',
detail_page_pv int(10) unsigned NOT NULL DEFAULT '0' COMMENT '日商品详情页浏览量',
bidding_num int(10) unsigned NOT NULL DEFAULT '0' COMMENT '日出价次数',
extra varchar(3072) NOT NULL DEFAULT '' COMMENT '扩展字段 json格式,{"sold_num_30":"近30天销量","favorite_num_30":"近30天收藏人数","detail_page_pv_30":"近30天详情页浏览量","search_click_num_30":"近30日搜索结果页商品点击次数","search_exposure_num_30":"近30日搜索结果页商品曝光次数","search_click_people_num_30":"近30日搜索结果页点击人数","search_click_people_num_14":"近14日搜索结果页点击人数","search_exposure_people_num_14":"近14日搜索结果页曝光人数","search_click_people_num_7":"近7日搜索结果页点击人数","search_exposure_people_num_7":"近7日搜索结果页曝光人数","search_click_people_num_3":"近3日搜索结果页点击人数","search_exposure_people_num_3":"近3日搜索结果页曝光人数"}',
create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
modify_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (id) COMMENT '主键',
KEY idx_create_time (create_time) COMMENT '创建时间',
KEY idx_modify_time (modify_time) COMMENT '修改时间',
KEY idx_spu_id (spu_id),
KEY idx_daily_date (daily_date)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品SPU每日回流数据';

设置:

image

extra的值设置的为:
{"sold_num_30":"15000","favorite_num_30":"150000","bidding_num_30":"5000","detail_page_pv_30":"3000000","search_click_num_30":"6000000","search_exposure_num_30":"2000000000","search_click_people_num_30":"20000","search_click_people_num_14":"40000","search_exposure_people_num_14":"50000","search_click_people_num_7":"30000","search_exposure_people_num_7":"400000","search_click_people_num_3":"50000","search_exposure_people_num_3":"5000000"}

生成的sql:

INSERT INTO commodity_spu_backflow_data (area_name,spu_id,daily_date,sold_num,favorite_num,search_click_num,search_exposure_num,search_click_people_num,search_exposure_people_num,detail_page_pv,bidding_num,extra) VALUES ('HK','61','2021-05-18 06:45:54','12','33','51','57','32','56','47','89','{"sold_num_30":"15000"');

INSERT INTO commodity_spu_backflow_data (area_name,spu_id,daily_date,sold_num,favorite_num,search_click_num,search_exposure_num,search_click_people_num,search_exposure_people_num,detail_page_pv,bidding_num,extra) VALUES ('HK','57','2021-05-10 16:44:26','28','56','17','78','71','3','86','12','{"sold_num_30":"15000"');

问题:

extra字段值被截断了

看起来是 因为 英文逗号的问题,在修复之前,可以先用 中文逗号或者###等特殊字符先生成,然后替换