解决出现Incorrect integer value: '' for column 'id' at row 1的问题
2017-10-29 10:53
676 查看
解决出现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
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:
相关文章推荐
- MySQL出现Incorrect integer value: '' for column 'id' at row 1解决方法
- 解决mysql插入数据时出现Incorrect string value: '\xF0\x9F...' for column 'name' at row 1的异常 这个问题,原因是UTF-8编码有可
- 解决Incorrect integer value: '' for column 'id' at row 1的方法
- 解决Incorrect integer value: '' for column 'id' at row 1的方法
- 解决Incorrect integer value: '' for column 'id' at row 1的方法
- 解决navicat for mysql出现1066-incorrect integer:"for column 'id' at row 2”问题
- 解决mysql插入数据时出现Incorrect string value: '\xF0\x9F...' for column 'name' at row 1的异常
- 【问题解决】MySQL5.5 向MySQL数据库中插入汉字时,提示:Incorrect string value: '\Xe7\x8E...' for column 'XXX' at row 1
- mysql报错问题:Incorrect integer value: ” for column ‘num’ at row 1
- Sqlyog中解决编码问题Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1
- Incorrect integer value: '' for column 'ID' at row 1简单解决方案
- java.sql.SQLException: Incorrect integer value: 'idxxx0' for column 'id' at row 1
- Incorrect integer value: ‘ for column “ID” at row 1
- 运行mysql5.x版本的时候,出现错误: [Err] 1366 - Incorrect integer value: '' for column 'Fbirthday' at row 1
- java.sql.SQLException: Incorrect integer value: '' for column 'id' at row 1
- 解决mysql插入数据时出现Incorrect string value: '\xF0\x9F...' for column 'name' at row 1的异常
- 关于解决Incorrect datetime value: '' for column '' at row 1的问题
- 错误代码: 1366 Incorrect integer value: 'zhangsan' for column 'depart_teacher' at row 1
- 中文写入数据库乱码及Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1解决
- Incorrect string value: '\xD0\xCF\x11\xE0\xA1\xB1...' for column 'FILE_ID' at row 1