解决出现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 03 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
Jun 29 Python
Python程序运行原理图文解析
Feb 10 Python
Python爬虫之pandas基本安装与使用方法示例
Aug 08 Python
简单了解python中的与或非运算
Sep 18 Python
感知器基础原理及python实现过程详解
Sep 30 Python
使用PyCharm进行远程开发和调试的实现
Nov 04 Python
Python迷宫生成和迷宫破解算法实例
Dec 24 Python
简单了解pytest测试框架setup和tearDown
Apr 14 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
Apr 17 Python
Python如何读取、写入CSV数据
Jul 28 Python
python字典进行运算原理及实例分享
Aug 02 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通用防注入程序 推荐
2011/02/26 PHP
PHP json格式和js json格式 js跨域调用实现代码
2012/09/08 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
农历与西历对照
2006/09/06 Javascript
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
js实现两个值相加alert出来精确到指定位
2013/09/25 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
深入理解JavaScript中的call、apply、bind方法的区别
2016/05/30 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
vue.js实现价格格式化的方法
2017/05/23 Javascript
浅谈vue.js中v-for循环渲染
2017/07/26 Javascript
react 实现页面代码分割、按需加载的方法
2018/04/03 Javascript
Node.js的Koa实现JWT用户认证方法
2018/05/05 Javascript
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
vuex+axios+element-ui实现页面请求loading操作示例
2020/02/02 Javascript
vue 翻页组件vue-flip-page效果
2020/02/05 Javascript
JS一次前端面试经历记录
2020/03/19 Javascript
如何使用RoughViz可视化Vue.js中的草绘图表
2021/01/30 Vue.js
[54:06]OG vs TNC 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
如何使用Python抓取网页tag操作
2020/02/14 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
python 实现多维数组(array)排序
2020/02/28 Python
django中嵌套的try-except实例
2020/05/21 Python
python 装饰器的使用示例
2020/10/10 Python
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
日本酒店、民宿、温泉旅馆、当地旅行团中文预订:e路东瀛
2019/12/09 全球购物
中医药大学市场营销专业自荐信
2013/09/29 职场文书
销售顾问的岗位职责
2013/11/13 职场文书
十月份红领巾广播稿
2014/01/22 职场文书
老同学聚会感言
2014/02/23 职场文书
工作能力自我评价2015
2015/03/05 职场文书
民事答辩状格式范文
2015/05/21 职场文书
闪闪的红星观后感
2015/06/08 职场文书
2016年11月份红领巾广播稿
2015/12/21 职场文书
创业计划书之书店
2019/09/10 职场文书
分享几种python 变量合并方法
2022/03/20 Python