解决出现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元组拆包和具名元组解析实例详解
Mar 26 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
May 30 Python
mac下如何将python2.7改为python3
Jul 13 Python
python如何生成各种随机分布图
Aug 27 Python
Python 输入一个数字判断成绩分数等级的方法
Nov 15 Python
在python中将list分段并保存为array类型的方法
Jul 15 Python
python 函数的缺省参数使用注意事项分析
Sep 17 Python
Pandas+Matplotlib 箱式图异常值分析示例
Dec 09 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
Feb 05 Python
在 Pycharm 安装使用black的方法详解
Apr 02 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
Dec 15 Python
python中的random模块和相关函数详解
Apr 22 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应用提速面面观
2006/10/09 PHP
56.com视频采集接口程序(PHP)
2007/09/22 PHP
PHP iconv 解决utf-8和gb2312编码转换问题
2010/04/12 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
2017/02/15 PHP
LAMP环境使用Composer安装Laravel的方法
2017/03/25 PHP
php表单处理操作
2017/11/16 PHP
原生JS绑定滑轮滚动事件兼容常见浏览器
2014/06/30 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
three.js中文文档学习之创建场景
2017/11/20 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
vue中datepicker的使用教程实例代码详解
2019/07/08 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
2019/09/11 Javascript
layui表格数据复选框回显设置方法
2019/09/13 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
2020/04/08 Javascript
ant-design-vue按需加载的坑的解决
2020/05/14 Javascript
vue使用video插件vue-video-player详解
2020/10/23 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
[01:50]2014DOTA2西雅图邀请赛 专访欢乐周宝龙
2014/07/08 DOTA
python多进程操作实例
2014/11/21 Python
纯python进行矩阵的相乘运算的方法示例
2019/07/17 Python
react+django清除浏览器缓存的几种方法小结
2019/07/17 Python
python SVM 线性分类模型的实现
2019/07/19 Python
python 递归调用返回None的问题及解决方法
2020/03/16 Python
Pytorch数据拼接与拆分操作实现图解
2020/04/30 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
纯CSS3实现鼠标滑过按钮动画第二节
2020/07/16 HTML / CSS
麦德龙官方海外旗舰店:德国麦德龙超市
2017/12/23 全球购物
经典洗发水广告词
2014/03/13 职场文书
公司合作意向书
2014/04/01 职场文书
2014年禁毒工作总结
2014/11/24 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
2015年工会工作总结
2015/03/30 职场文书
会议主持人开场白台词
2015/05/28 职场文书
2016年暑期教师培训心得体会
2016/01/09 职场文书
只用20行Python代码实现屏幕录制功能
2021/06/02 Python