python mysql 字段与关键字冲突的解决方式


Posted in Python onMarch 02, 2020

解决方法:python中把字段名称用反引号(`),也就是ESC下面~那个按钮。

示例:

数据字段设计如下截图所示

待插入数据:

datas = {
  'sign_event':[
    {'id': 1, 'name': '华为mate9发布会' , 'limit': 100, 'status': 1, 'address': '会展中心1号厅', 'start_time': '2017-09-20 14:00:00','create_time':'2017-08-20 14:00:00'},
    {'id': 2, 'name': '华为P1000发布会' , 'limit': 200, 'status': 1, 'address': '会展中心2号厅', 'start_time': '2017-09-20 14:00:00','create_time':'2017-08-20 14:00:00'},
    {'id': 3, 'name': 'IPHONE888发布会' , 'limit': 300, 'status': 1, 'address': '会展中心3号厅', 'start_time': '2017-09-20 14:00:00','create_time':'2017-08-20 14:00:00'},
    {'id': 4, 'name': '半壁江山66演唱会' , 'limit': 400, 'status': 1, 'address': '会展中心4号厅', 'start_time': '2017-09-20 14:00:00','create_time':'2017-08-20 14:00:00'},
    {'id': 5, 'name': '金融P222222P上线' , 'limit': 500, 'status': 1, 'address': '会展中心5号厅', 'start_time': '2017-09-20 14:00:00','create_time':'2017-08-20 14:00:00'},
    {'id': 6, 'name': '未命名0000发布会' , 'limit': 600, 'status': 1, 'address': '会展中心6号厅', 'start_time': '2017-09-20 14:00:00','create_time':'2017-08-20 14:00:00'},
  ],
}

插入语句实现:

1.获取某个表的所有待插入数据

for tablename,data in datas.items():
     for d in data:
       self.insert_datatable(tablename,d)
 self.close_dataConnetion()

2.每个表的数据,逐条循环插入到该表中

def insert_datatable(self, tablename, table_data):
    keys = {}
    for key in table_data:
      # 从数据字段中取出列名,列名用反单引号括起来;--解决列名与mysql关键字冲突
      keys[key] = "`"+str(key)+"`"
      table_data[key] = "'"+str(table_data[key])+"'"
    key = ','.join(keys.values())
    value = ','.join(table_data.values())
 
    sql = "INSERT INTO " + tablename + " ( " + key + " ) VALUES ( " + value +" );"
    with self.connection.cursor() as cursor:
      cursor.execute('SET FOREIGN_KEY_CHECKS=0;') #取消外键约束
      cursor.execute(sql)
    self.connection.commit()

补充拓展:python 数据库 % 冲突问题解决

在使用python后台调用 MySQL数据库的时候会有 「%」的关键字冲突问题,比如 用Python后端读取 MySQL 中记录的逻辑,在 impala端执行,其中涉及到模糊匹配的 「%」会报错

解决:SQL逻辑中的单个「%」换为「%%」即可,不错的 trip。

以上这篇python mysql 字段与关键字冲突的解决方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python从MP3文件获取id3的方法
Jun 15 Python
python daemon守护进程实现
Aug 27 Python
python字符串,数值计算
Oct 05 Python
Python入门_条件控制(详解)
May 16 Python
Python内置模块turtle绘图详解
Dec 09 Python
Python遍历numpy数组的实例
Apr 04 Python
matplotlib.pyplot绘图显示控制方法
Jan 15 Python
Python GUI学习之登录系统界面篇
Aug 21 Python
Django中使用haystack+whoosh实现搜索功能
Oct 08 Python
numpy:np.newaxis 实现将行向量转换成列向量
Nov 30 Python
python编程简单几行代码实现视频转换Gif示例
Oct 05 Python
Python利用FlashText算法实现替换字符串
Mar 31 Python
python3实现往mysql中插入datetime类型的数据
Mar 02 #Python
python3将变量写入SQL语句的实现方式
Mar 02 #Python
Python *args和**kwargs用法实例解析
Mar 02 #Python
Python通过2种方法输出带颜色字体
Mar 02 #Python
Python实现屏幕录制功能的代码
Mar 02 #Python
python实现录屏功能(亲测好用)
Mar 02 #Python
基于Numba提高python运行效率过程解析
Mar 02 #Python
You might like
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
PHP实现原比例生成缩略图的方法
2016/02/03 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
2016/03/05 PHP
php函数mkdir实现递归创建层级目录
2016/10/27 PHP
jQuery 性能优化指南(3)
2009/05/21 Javascript
异步动态加载JS并运行(示例代码)
2013/12/13 Javascript
js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
2015/08/11 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
用AngularJS的指令实现tabs切换效果
2016/08/31 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
js实现导航吸顶效果
2017/02/24 Javascript
JavaScript之underscore_动力节点Java学院整理
2017/07/03 Javascript
js注册时输入合法性验证方法
2017/10/21 Javascript
基于Vue开发数字输入框组件
2017/12/19 Javascript
微信小程序中实现手指缩放图片的示例代码
2018/03/13 Javascript
JS中使用new Option()实现时间联动效果
2018/12/10 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
详解vue-cli 脚手架 安装
2019/04/16 Javascript
vue中@change兼容问题详解
2019/10/25 Javascript
微信小程序canvas分享海报功能
2019/10/31 Javascript
python读取注册表中值的方法
2013/04/08 Python
Python入门之三角函数sin()函数实例详解
2017/11/08 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例
2020/03/14 Python
Python多线程threading join和守护线程setDeamon原理详解
2020/03/18 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
CSS3 实现倒计时效果
2020/11/25 HTML / CSS
违纪检讨书2000字
2014/02/08 职场文书
一月红领巾广播稿
2014/02/11 职场文书
本科毕业自我鉴定
2014/03/20 职场文书
机电一体化专业毕业生自荐信
2014/06/19 职场文书
财务工作检讨书
2014/10/29 职场文书
调研报告的主要写法
2019/04/18 职场文书
解决MySQL存储时间出现不一致的问题
2021/04/28 MySQL
Python3 类型标注支持操作
2021/06/02 Python