解决出现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 07 Python
python生成器表达式和列表解析
Mar 10 Python
Python队列的定义与使用方法示例
Jun 24 Python
python 文件操作删除某行的实例
Sep 04 Python
python print输出延时,让其立刻输出的方法
Jan 07 Python
PyQt5实现简易电子词典
Jun 25 Python
python 杀死自身进程的实现方法
Jul 01 Python
python批量解压zip文件的方法
Aug 20 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
Feb 11 Python
多个python文件调用logging模块报错误
Feb 12 Python
解决python3.x安装numpy成功但import出错的问题
Nov 17 Python
python非标准时间的转换
Jul 25 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
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
2013/06/21 PHP
php恢复数组的key为数字序列的方法
2015/04/28 PHP
Yii视图CGridView列表用法实例分析
2016/07/12 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
利用javascript查看html源文件
2006/11/08 Javascript
jQuery autocomplate 自扩展插件、自动完成示例代码
2011/03/28 Javascript
JavaScipt中栈的实现方法
2016/02/17 Javascript
浅析angularJS中的ui-router和ng-grid模块
2016/05/20 Javascript
Ext JS框架程序中阻止键盘触发回退或者刷新页面的代码分享
2016/06/07 Javascript
Node.js 实现简单的接口服务器的实例代码
2017/05/23 Javascript
React中使用collections时key的重要性详解
2017/08/07 Javascript
BootStrap实现文件上传并带有进度条效果
2017/09/11 Javascript
vue页面离开后执行函数的实例
2018/03/13 Javascript
Vue+webpack+Element 兼容问题总结(小结)
2018/08/16 Javascript
vue-router启用history模式下的开发及非根目录部署方法
2018/12/23 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
2019/08/15 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
react中Suspense的使用详解
2019/09/01 Javascript
vue实现Input输入框模糊查询方法
2021/01/29 Javascript
详解JavaScript中精度失准问题及解决方法
2020/02/04 Javascript
vue中实现图片压缩 file文件的方法
2020/05/28 Javascript
[02:18]DOTA2英雄基础教程 育母蜘蛛
2014/01/20 DOTA
[36:09]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
Python深入学习之上下文管理器
2014/08/31 Python
Python OS模块常用函数说明
2015/05/23 Python
浅谈pandas中DataFrame关于显示值省略的解决方法
2018/04/08 Python
python 基于Apscheduler实现定时任务
2020/12/15 Python
高档奢华时装在线目的地:FORWARD by elyse walker
2017/10/16 全球购物
大学新生欢迎词
2014/01/10 职场文书
小加工厂管理制度
2014/01/21 职场文书
小学运动会口号
2014/06/07 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书
大学生国庆节65周年演讲稿范文
2014/09/25 职场文书
关于运动会广播稿200字
2014/10/08 职场文书
高中班主任评语
2014/12/30 职场文书
幼儿园小班开学寄语
2015/05/27 职场文书