py执行

#!/usr/bin/env pytho
# -*- coding:utf-8 -*-
import pymysql
import json

# 创建连接
conn = pymysql.connect(host='10.127.37.16', port=3306, user='root', passwd='root', db='datax', charset='utf8')
# 创建游标
cursor = conn.cursor()

try:
   # 执行SQL语句
   cursor.execute("SELECT id,job_json FROM job_info ")

   # UPDATE
   # job_info
   # t
   # SET
   # job_json = json_set(job_json, '$.job.content[0].reader.parameter.column',
   #                     (SELECT JSON_EXTRACT(job_json, '$.job.content[0].reader.parameter.column')
   # FROM
   # `datax`.
   # `job_info_bknotuse`
   # j
   # WHERE
   # j.id = t.id))

   # 获取所有记录列表
   results = cursor.fetchall()
   for row in results:
      id = row[0]
      rows = row[1]
      jsonobj = json.loads(rows)
      print(jsonobj)
      json_read = jsonobj["job"]["content"][0]["reader"]["parameter"]["column"]
      json_read_str = json.dumps(json_read)
      json_read_rp_str = json_read_str.replace(r'\"', '`')
      json_read_rp_json_obj = json.loads(json_read_rp_str)


      jsonobj["job"]["content"][0]["writer"]["parameter"]["column"] = json_read_rp_json_obj

      json_str = json.dumps(jsonobj)
      json_str = json_str.replace(r'\"', '')

      sql = 'update job_info set job_json = \'' + str(json_str) + '\' where id = ' + str(id)

      cursor.execute(sql)

      #json_read_r =
       # 打印结果
except :
   print ("Error: unable to fetch data")




conn.commit()
cursor.close()
conn.close()

sqlyog执行

UPDATE job_info t
SET job_json=json_set(job_json,'$.job.content[0].reader.parameter.column',
 (SELECT JSON_EXTRACT(job_json,'$.job.content[0].reader.parameter.column')   FROM `datax`.`job_info_bknotuse` j WHERE j.id = t.id))

 

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐