国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

解決出現Incorrect integer value: '' for column 'id' at row 1的問題

2020-01-04 16:25:10
字體:
來源:轉載
供稿:網友

解決出現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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 榆社县| 鄂伦春自治旗| 孟津县| 盘锦市| 定兴县| 石林| 天长市| 永丰县| 赤水市| 河曲县| 抚顺市| 广平县| 永善县| 宿松县| 长汀县| 离岛区| 隆昌县| 湖州市| 顺义区| 泌阳县| 威信县| 大田县| 靖西县| 谢通门县| 丹江口市| 波密县| 松滋市| 兴安县| 日土县| 乡城县| 金堂县| 普安县| 白山市| 萝北县| 进贤县| 东城区| 昔阳县| 长乐市| 昌宁县| 中方县| 湘阴县|