解决出现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构造自定义方法来美化字典结构输出的示例
Jun 16 Python
Python 2与Python 3版本和编码的对比
Feb 14 Python
Python中协程用法代码详解
Feb 10 Python
pytorch中tensor的合并与截取方法
Jul 26 Python
对Xpath 获取子标签下所有文本的方法详解
Jan 02 Python
使用Python实现跳一跳自动跳跃功能
Jul 10 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
Apr 30 Python
Python基于pandas爬取网页表格数据
May 11 Python
python自动化测试三部曲之request+django实现接口测试
Oct 07 Python
使用Django的JsonResponse返回数据的实现
Jan 15 Python
python3.9.1环境安装的方法(图文)
Feb 02 Python
Python提取PDF指定内容并生成新文件
Jun 09 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
Zend Framework基本页面布局分析
2016/03/19 PHP
php 函数使用可变数量的参数方法
2017/05/02 PHP
php利用ZipArchive类操作文件的实例
2020/01/21 PHP
简单JS代码压缩器
2006/10/12 Javascript
cnblogs中在闪存中屏蔽某人的实现代码
2010/11/14 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
js jquery ajax的几种用法总结(及优缺点介绍)
2014/01/28 Javascript
jquery序列化表单去除指定元素示例代码
2014/04/10 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
Jquery网页内滑动缓冲导航的实现代码
2015/04/05 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
2015/04/16 Javascript
JavaScript数组对象实现增加一个返回随机元素的方法
2015/07/27 Javascript
浅谈JavaScript超时调用和间歇调用
2015/08/30 Javascript
js获取Get值的方法
2016/09/29 Javascript
js获取指定字符前/后的字符串简单实例
2016/10/27 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
详解Jest结合Vue-test-utils使用的初步实践
2019/06/27 Javascript
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
Python中字典和JSON互转操作实例
2015/01/19 Python
介绍Python中的__future__模块
2015/04/27 Python
Python中super的用法实例
2015/05/28 Python
Python实现定时任务
2017/02/08 Python
python 定时器,实现每天凌晨3点执行的方法
2019/02/20 Python
python 定时器每天就执行一次的实现代码
2019/08/14 Python
Python 实现opencv所使用的图片格式与 base64 转换
2020/01/09 Python
使用Python打造一款间谍程序的流程分析
2020/02/21 Python
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
财务工作者先进事迹材料
2014/01/17 职场文书
安全责任书怎么写
2014/07/28 职场文书
运动会广播稿300字
2015/08/19 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
Java数组与堆栈相关知识总结
2021/06/29 Java/Android