解决出现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 sort、sorted高级排序技巧
Nov 21 Python
Python实现PS滤镜中马赛克效果示例
Jan 20 Python
Python扩展内置类型详解
Mar 26 Python
Puppeteer使用示例详解
Jun 20 Python
使用PyQt5实现图片查看器的示例代码
Apr 21 Python
在python里使用await关键字来等另外一个协程的实例
May 04 Python
Django 用户登陆访问限制实例 @login_required
May 13 Python
python解压zip包中文乱码解决方法
Nov 27 Python
python中使用np.delete()的实例方法
Feb 01 Python
pytorch加载预训练模型与自己模型不匹配的解决方案
May 13 Python
Python基础 括号()[]{}的详解
Nov 07 Python
微信小程序调用python模型
Apr 21 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
如何提高MYSQL数据库的查询统计速度 select 索引应用
2007/04/11 PHP
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
2013/04/22 PHP
php htmlentities()函数的定义和用法
2016/05/13 PHP
改变javascript函数内部this指针指向的三种方法
2010/04/23 Javascript
js原型链原理看图说明
2012/07/07 Javascript
商城常用滚动的焦点图效果代码简单实用
2013/03/28 Javascript
JS中实现replaceAll的方法(实例代码)
2013/11/12 Javascript
jquery清空表单数据示例分享
2014/02/13 Javascript
javascript中的括号()用法小结
2014/04/14 Javascript
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
javascript实现可全选、反选及删除表格的方法
2015/05/15 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
jQuery 获取页面li数组并删除不在数组中的key
2016/08/02 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
node.js实现微信JS-API封装接口的示例代码
2017/09/06 Javascript
Vue 莹石摄像头直播视频实例代码
2018/08/31 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
vue实现输入一位数字转汉字功能
2019/12/13 Javascript
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
vue 实现图片懒加载功能
2020/12/31 Vue.js
Python实现模拟浏览器请求及会话保持操作示例
2018/07/30 Python
Django缓存系统实现过程解析
2019/08/02 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
2019/08/12 Python
浅谈tensorflow中张量的提取值和赋值
2020/01/19 Python
Django高并发负载均衡实现原理详解
2020/04/04 Python
Python faker生成器生成虚拟数据代码实例
2020/07/20 Python
python如何获得list或numpy数组中最大元素对应的索引
2020/11/16 Python
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
自我评价范文分享
2014/01/04 职场文书
2014年冬季防火方案
2014/05/21 职场文书
个人委托书范本
2014/09/13 职场文书
大学生上课迟到检讨书
2014/10/15 职场文书
惊天动地观后感
2015/06/10 职场文书
详解Python+OpenCV绘制灰度直方图
2022/03/22 Python