解决Incorrect integer value: '' for column 'id' at row 1

原创 2015年11月19日 09:14:36

今天在学习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


版权声明:本文为博主原创文章,可在注明出处且不做任何修改的情况下转载(包括标题和内容)

解决Incorrect integer value: '' for column 'id' at row 1的方法

在使用Navicat for MySQL还原数据库备份时,出现Incorrect integer value: '' for column 'id' at row 1的错误;  网上查资料发...

【问题解决】MySQL5.5 向MySQL数据库中插入汉字时,提示:Incorrect string value: '\Xe7\x8E...' for column 'XXX' at row 1

MySQL5.5 向MySQL数据库中插入汉字时,提示:Incorrect string value: '\Xe7\x8E...' for column 'XXX' at row 1...

MySQL问题—中文写入数据库乱码及Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1解决

做有关微信公众账号的项目时,报Incorrect string value: '\xF0\x9F\x98\x92' for column 'NIKENAME' at row 1,而所有的字符编码都是u...

Incorrect string value: '\xF0\x9F\x92\x90</...' for column 'xxx' at row 1

1.一般来说MySQL(小于5.5.3)字符集设置为utf8,指定连接的字符集也为utf8,django中save unicode string是木有问题的。但是,当字符串中有特殊字符(如emoj...

关于mysql数据库“Incorrect string value: '\xFF\xFE\x0DNSb...' for column 'note' at row 1”错误

Incorrect string value: '\xFF\xFE\x0DNSb...' for column 'note' at row 1”错误 的解决办法

ERROR 1366 (HY000): Incorrect string value: '\xE5\xB8\x82' for column 'address' at row 1

1、错误描述mysql> insert into t_student_info values (2016010101,'张三',23,'男','2323254343','湖北省武汉市洪山区'); ER...

Incorrect string value: '\xE9\x98\xBF\xE6\x96\xAF...' for column 'name' at row 1 form表单提交乱码

2017-03-05 19:35:15,017 DEBUG [com.audio.global.GlobalDisparter] - DispatcherServlet with name 'spri...
  • cyssxt
  • cyssxt
  • 2017年03月05日 19:37
  • 526

java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\xB3' for column 'Content' at row 1

在尝试将 emoji 表情符号 插入MySQL数据库时,遇到以下错误信息:### The error occurred while setting parameters ### SQL: INSERT...

时间入库问题:Incorrect datetime value: '' for column 'createTime' at row 1

背景:

Incorrect string value: '\xF0\x9F\x98\x92' for column 'NIKENAME' at row 1;

微信关注时,报Incorrect string value: '\xF0\x9F\x98\x92' for column 'NIKENAME' at row 1;
  • gucapg
  • gucapg
  • 2014年08月11日 19:43
  • 6998
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决Incorrect integer value: '' for column 'id' at row 1
举报原因:
原因补充:

(最多只允许输入30个字)