解决出现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 相关文章推荐
Pyramid Mako模板引入helper对象的步骤方法
Nov 27 Python
Python中使用platform模块获取系统信息的用法教程
Jul 08 Python
Python实现的HMacMD5加密算法示例
Apr 03 Python
Python3.6简单反射操作示例
Jun 14 Python
Python使用sorted对字典的key或value排序
Nov 15 Python
Python编程在flask中模拟进行Restful的CRUD操作
Dec 28 Python
Python时间和字符串转换操作实例分析
Mar 16 Python
Python解析命令行读取参数之argparse模块
Jul 26 Python
Flask框架学习笔记之消息提示与异常处理操作详解
Aug 15 Python
TensorFlow梯度求解tf.gradients实例
Feb 04 Python
python通用数据库操作工具 pydbclib的使用简介
Dec 21 Python
python 详解turtle画爱心代码
Feb 15 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使用memcoder将视频转成mp4格式的方法
2015/03/12 PHP
php array_pop 删除数组最后一个元素实例
2016/11/02 PHP
javascript实现类似超链接的效果
2014/12/26 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
JS模拟按钮点击功能的方法
2015/12/22 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
select隐藏选中值对应的id,显示其它id的简单实现方法
2016/08/25 Javascript
详解vue-Resource(与后端数据交互)
2017/01/16 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
浅析微信扫码登录原理(小结)
2018/10/29 Javascript
微信小程序实现下拉刷新动画
2019/06/21 Javascript
Vue v-for循环之@click点击事件获取元素示例
2019/11/09 Javascript
JavaScript观察者模式原理与用法实例详解
2020/03/10 Javascript
jQuery 选择方法及$(this)用法实例分析
2020/05/19 jQuery
vue+flask实现视频合成功能(拖拽上传)
2021/03/04 Vue.js
python从sqlite读取并显示数据的方法
2015/05/08 Python
深入理解Python中各种方法的运作原理
2015/06/15 Python
详解Python的Django框架中Manager方法的使用
2015/07/21 Python
Python 实现简单的电话本功能
2015/08/09 Python
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
Python_查看sqlite3表结构,查询语句的示例代码
2019/07/17 Python
Python Dataframe常见索引方式详解
2020/05/27 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
2020/06/22 Python
Python常驻任务实现接收外界参数代码解析
2020/07/21 Python
HTML5视频支持检测(检查浏览器是否支持视频播放)
2013/06/08 HTML / CSS
Kathmandu美国网站:新西兰户外运动品牌
2019/03/23 全球购物
介绍一下linux文件系统分配策略
2012/11/17 面试题
自我评价范文分享
2014/01/04 职场文书
八年级历史教学反思
2014/01/10 职场文书
2014年爱国卫生工作总结
2014/11/22 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
python 如何用map()函数创建多线程任务
2021/04/07 Python
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python
Django利用AJAX技术实现博文实时搜索
2021/05/06 Python
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL
Android开发EditText禁止输入监听及InputFilter字符过滤
2022/06/10 Java/Android