当前位置: 首页 > news >正文

Mysql实战中的一些小tips

1. 问题:使用select进行查表,出现连接事务一直连接,导致锁表,没办法对表格进行修改操作。

        解决办法:

# 在建立conn连接时,设置commit如下:self.dbconn = MySQLdb.connect(host=sql_conf.MYSQL_HOST, port=sql_conf.MYSQL_PORT, user=sql_conf.MYSQL_USER, passwd=sql_conf.MYSQL_PASS, db=sql_conf.MYSQL_DB, connect_timeout=10)self.dbconn.autocommit(True)

2. 从数据库读取json.dumps的字段后,直接使用json.loads()转换,出现错误:Expecting ',' delimiter: line 1 column 7 (char 6)

错误原因是,字符串格式不规范,如双引号里面含有双引号:

'["1.0"大尺寸CMOS 约2020万有效像素", "F1.8-2.8大光圈,24mm广角+4.2倍光学变焦镜头,5cm微距", "Wi-Fi影像分享,NFC近场通信,更方便的遥控拍摄", "汇集多种模式,丰富你的拍摄构思", "机身搭载取景器,更专业与更舒适的拍摄体验”]'

解决方法:

在入库之前,使用pymysql.escape_string(value)对dumps后的字符串先进行下转换,变成数据库格式字符串,再入库即可。这个操作,会对双引号内部的双引号进行转义。

3. 错误:Incorrect string value: '\xE4\xB8\xAD\xE5\x9B\xBD' for column 'word' at row 1

排查步骤:

  1. 排查数据库编码,确认是否是 utf-8
  2. 如果还有问题,继续确认表格编码是否是utf-8
  3. 如果还有问题,继续确认表格中字段编码是否是utf-8

本次遇到的问题,是因为字段的编码是char,调整为utf-8格式即正常。

http://www.lryc.cn/news/382964.html

相关文章:

  • 【Linux】使用信号进行进程间通信
  • 电脑实用技巧1
  • 【D3.js in Action 3 精译】1.1.3 D3.js 的工作原理
  • 面试-java多线程与并发
  • 前端学习-day10
  • 深入理解桥接模式(Bridge Pattern)及其实际应用
  • Springboot + Mybatis 实现sql打印
  • Cesium默认bing地图数据,还支持哪些地图的数据源呢?
  • 高效、智能、安全:小型机房EasyCVR+AI视频综合监控解决方案
  • 数据分析的Excel基础操作
  • 【C语言】解决C语言报错:Invalid Pointer
  • 动态图形设计:创造视觉运动的艺术
  • CSS 属性 `mix-blend-mode`
  • 三大交易所全面恢复 IPO 申请
  • VC++开发积累——vc++6.0中删除函数的方法,右键,Delete
  • HBDNY-40/1端子排电压继电器 DC110V 导轨安装 约瑟JOSEF
  • Redis-数据类型-Geospatial(地理空间索引)
  • Python联动Mysql
  • vue3-openlayers 轨迹回放(历史轨迹)(ol-animation-path实现)
  • 计算机视觉全系列实战教程 (十二):图像分割(阈值分割threshold、分水岭算法watershed的使用步骤、洪水填充floodFill算法的使用)
  • Linux的免交互
  • 查看es p12证书文件过期方法
  • 1.8 无符号大数加、减运算
  • Java常用类--包装类
  • SpringMvcの拦截器全局异常处理
  • JVM虚拟机的组成
  • 探索CSS clip-path: polygon():塑造元素的无限可能
  • 【华为OD机试B卷】单词接龙(C++/Java/Python)
  • 项目实训-vue(十七)
  • Android10 SystemUI系列 需求定制(二)隐藏状态栏通知图标,锁屏通知,可定制包名,渠道等