解决出现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实现的简单RPG游戏流程实例
Jun 28 Python
python 中split 和 strip的实例详解
Jul 12 Python
python写入并获取剪切板内容的实例
May 31 Python
pycharm中成功运行图片的配置教程
Oct 28 Python
python 搜索大文件的实例代码
Jul 08 Python
Python进阶之迭代器与迭代器切片教程
Jan 29 Python
Windows下实现将Pascal VOC转化为TFRecords
Feb 17 Python
Python函数生成器原理及使用详解
Mar 12 Python
pyqt5 textEdit、lineEdit操作的示例代码
Aug 12 Python
详解anaconda离线安装pytorchGPU版
Sep 08 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
Nov 10 Python
Pytorch反向传播中的细节-计算梯度时的默认累加操作
Jun 05 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
如何跨站抓取别的站点的页面的补充
2006/10/09 PHP
curl实现站外采集的方法和技巧
2014/01/31 PHP
PHP程序中使用adodb连接不同数据库的代码实例
2015/12/19 PHP
thinkphp整合微信支付代码分享
2016/11/24 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
改版了网上的一个js操作userdata
2007/04/27 Javascript
php图像生成函数之间的区别分析
2012/12/06 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
Nodejs实现批量下载妹纸图
2015/05/28 NodeJs
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
jQuery获取与设置iframe高度的方法
2016/08/01 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
2016/09/21 Javascript
Bootstrap Modal遮罩弹出层(完整版)
2016/11/21 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
使用npm安装最新版本nodejs
2018/01/18 NodeJs
解决angularjs WdatePicker ng-model的问题
2018/09/13 Javascript
小程序云开发部署攻略(图文教程)
2018/10/30 Javascript
vue实现滑动到底部加载更多效果
2020/10/27 Javascript
layui 弹出删除确认界面的实例
2019/09/06 Javascript
python中os模块详解
2016/10/14 Python
Python2和Python3之间的str处理方式导致乱码的讲解
2019/01/03 Python
python 回溯法模板详解
2020/02/26 Python
Django form表单与请求的生命周期步骤详解
2020/06/07 Python
关于Python错误重试方法总结
2021/01/03 Python
numba提升python运行速度的实例方法
2021/01/25 Python
CSS3模拟动画下拉菜单效果
2017/04/12 HTML / CSS
Html5百叶窗效果的示例代码
2017/12/11 HTML / CSS
超30万乐谱下载:Musicnotes.com
2016/09/24 全球购物
PAUL HEWITT手表美国站:德国北部时尚生活配饰品牌,船锚元素
2017/11/18 全球购物
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
2013/10/30 面试题
金融专业应届生求职信
2013/11/02 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
六年级语文下册教学计划
2015/01/22 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书
Java中API的使用方法详情
2022/04/06 Java/Android