【发布时间】:2020-02-21 23:32:57
【问题描述】:
batchnumbers = [1,2,3,4,5,6,7,8,9,10]
def update_batchnum():
try:
for num in range(len(batchnumbers)):
query = ("INSERT INTO tensilesummary(batchnumber) VALUES ('%s');")
cursor.execute(query,batchnumbers[num])
mariadb_connection.commit()
print("Batchnumber successfullt inserted into tensilesummary table")
except mysql.connector.Error as error:
print("Failed using updatebatchnum to insert into tensilesummary table:{}".format(error))
update_batchnum()
返回错误:使用 updatebatchnum 插入到张量汇总表中失败:1366 (22007):整数值不正确:第 1 行 materialdatabase.tensilesummary.batchnumber 列的“%s”。
我尝试在 my.ini 中更改 sql_mode = "" 但它不起作用。
【问题讨论】:
-
这可能意味着您的 id 是一个 AUTO_INCREMENT 整数并且您正在尝试发送一个字符串。您应该指定一个列列表并将其从 INSERT 中省略。
-
对不起,我真的是 sql 新手,我不太清楚你的意思?你能再解释一下吗?
-
您没有显示创建光标的代码。如果你想使用参数化查询(使用
values中的'%s'),你需要像这样创建它:cursor = connection.cursor(prepared=True)。
标签: python sql sql-server mariadb