首页 > 解决方案 > mysql.connector.errors.DatabaseError: 1366 (HY000): Incorrect integer value: '' for column 'risklevel' at row 1

问题描述

这是我的桌子的图像

当我运行我的 python 代码并为我的表插入所有值时,我收到错误,即我的风险级别的整数值不正确

插入语句的代码是:

def register_site():
screen13 = Tk()
sitename_info = sitename2.get()
region_info = region.get()
risklevel_info = risklevel.get()
sitetype_info = sitetype.get()
targetpercent_info = targetpercent.get()
# Sql code for writing the data that was written in the regsitering page. 
cursor = cnn.cursor()
sitequery = "INSERT INTO `sites`(`siteName`,`userID`, `region`, `risklevel`, `siteType`, `target%`) VALUES (%s,null,%s,%s,%s,%s)"
sitequery_vals = (sitename_info, region_info, risklevel_info, sitetype_info, targetpercent_info)
cursor.execute(sitequery, sitequery_vals)
cnn.commit()
cursor.close()
cnn.close()
# removes the values in the entrys once the user selects that the registration was successful
sitename_entry.delete(0, END)
region_entry.delete(0, END)
risklevel_entry.delete(0, END)
sitetype_entry.delete(0, END)
targetpercent_entry.delete(0, END)
Label(screen1, text = "Site Created", fg = "green", font = ("calibri", 11)).pack()

我尝试将所有数据类型更改为文本,python shell 将声称这些值已插入到 sql 表中,但是当您浏览时没有插入任何内容,唯一的值是增加的 siteID。

标签: pythonmysqldatabasesqldatatypes

解决方案


推荐阅读