解决出现Incorrect integer value: '' for column 'id' at row 1的问题


Posted in Python onOctober 29, 2017

解决出现Incorrect integer value: '' for column 'id' at row 1的问题

前言:

今天在学习Python的过程中操作数据库,遇到了一个问题,执行sql语句插入数据的时候报错Incorrect integer value: '' for column 'id' at row 1

我的数据库设计是这样的:

一个很简单的用户信息表,其中ID是int类型,自动填充的主键,其他两个非主键,我执行的insert语句是这样的:mysql.db_insert("insert into userinfo values('','sven','111222','sven@qq.com','1')")

执行的时候一直报错Incorrect integer value: '' for column 'id' at row 1,最后google了一下,发现mysql版本到5以上的都会遇到这样的问题,插入空字符要使用NULL 正确的SQL语句应该是mysql.db_insert("insert into userinfo values(NULL,'sven','111222','sven@qq.com','1')"),记录下来与大家共勉,共通学习。

顺便分享一个自己写的操作数据库的Python类

我的Python数据库编码使用utf-8,所以连接数据库的时候charset这个字段我就没有做处理

# -*- coding: utf-8 -*- 
import MySQLdb 
 
class Mysql: 
  conn = ''  
  cursor = '' 
 
  def __init__(self, host='localhost', usr='blogtest', password='111222', db='blogtest'): 
    try: 
      self.conn = MySQLdb.connect(host, usr, password, db) 
    except Exception, e: 
      print e 
    self.cursor = self.conn.cursor() 
    #self.query('SET NAME %s ' % charset) 
 
 
  def query(self, sql): 
    self.cursor.execute(sql) 
 
  def show(self): 
    return self.cursor.fetchall() 
 
  def db_insert(self,sql): 
    self.cursor.execute(sql) 
    self.conn.commit() 
 
  def __del__(self): 
    self.cursor.close() 
    self.conn.close() 
 
if __name__ == '__main__': 
  mysql = Mysql() 
  mysql.db_insert("insert into userinfo values(NULL,'sven','111222','sven@qq.com','1')") 
  mysql.query('SELECT * FROM userinfo') 
  data = mysql.show() 
  for x in data: 
    print x

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
Python群发邮件实例代码
Jan 03 Python
Python的dict字典结构操作方法学习笔记
May 07 Python
浅谈使用Python变量时要避免的3个错误
Oct 30 Python
Python 实现异步调用函数的示例讲解
Oct 14 Python
在python中使用xlrd获取合并单元格的方法
Dec 26 Python
python时间序列按频率生成日期的方法
May 14 Python
Python进程间通信Queue消息队列用法分析
May 22 Python
使用TensorFlow实现简单线性回归模型
Jul 19 Python
python 视频逐帧保存为图片的完整实例
Dec 10 Python
解决python replace函数替换无效问题
Jan 18 Python
pytorch使用horovod多gpu训练的实现
Sep 09 Python
解决pytorch-gpu 安装失败的记录
May 24 Python
Python批量更改文件名的实现方法
Oct 29 #Python
python生成二维码的实例详解
Oct 29 #Python
python 读写中文json的实例详解
Oct 29 #Python
Python3 处理JSON的实例详解
Oct 29 #Python
深入理解Python中的*重复运算符
Oct 28 #Python
13个最常用的Python深度学习库介绍
Oct 28 #Python
python探索之BaseHTTPServer-实现Web服务器介绍
Oct 28 #Python
You might like
谷歌浏览器 insertCell与appendChild的区别
2009/02/12 Javascript
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
在IE浏览器中resize事件执行多次的解决方法
2011/07/12 Javascript
让AJAX不依赖后端接口实现方案
2012/12/03 Javascript
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
checkbox全选所涉及到的知识点介绍
2013/12/31 Javascript
jQuery插件MixItUp实现动画过滤和排序
2015/04/12 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
JavaScript中字面量与函数的基本使用知识
2015/10/20 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
javascript中异常处理案例(推荐)
2016/10/03 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
2016/10/14 Javascript
常用的js方法合集
2017/03/10 Javascript
node.js-v6新版安装具体步骤(分享)
2017/09/06 Javascript
详解微信小程序与内嵌网页交互实现支付功能
2018/10/22 Javascript
vue-cli项目配置多环境的详细操作过程
2018/10/30 Javascript
layer 关闭指定弹出层的例子
2019/09/25 Javascript
JavaScript常用进制转换及位运算实例解析
2020/10/14 Javascript
[50:58]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 Mineski vs EG
2018/04/03 DOTA
python访问sqlserver示例
2014/02/10 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
Python中整数的缓存机制讲解
2019/02/16 Python
python3射线法判断点是否在多边形内
2019/06/28 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
python 求定积分和不定积分示例
2019/11/20 Python
关于python 跨域处理方式详解
2020/03/28 Python
python类共享变量操作
2020/09/03 Python
Python Tkinter实例——模拟掷骰子
2020/10/24 Python
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
使用html2canvas.js实现页面截图并显示或上传的示例代码
2018/12/18 HTML / CSS
毕业自荐信
2013/12/16 职场文书
文明餐桌活动方案
2014/02/11 职场文书
2016年寒假政治学习心得体会
2015/10/09 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python
Python中Selenium对Cookie的操作方法
2021/07/09 Python