无法使用 MySQL 连接器在 Python 中插入 INT 数据

Not able to insert INT data in Python using MySQL connector

我在 Python 中使用 MySQL 连接器并尝试插入整数数据,但我不断收到此错误:

mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%s)' at line 1

我的代码如下所示:

medDosage = int(''.join(filter(str.isdigit, '42mg')))

myCursor.execute("INSERT INTO dosage (dosageDesc) VALUES (%s)", medDosage)
db.commit()

而且这条语句对所有其他变量都工作得很好,但不知何故对于 INT 值,它不起作用。我尝试插入字符串变量而不是 int,但没有用。还尝试转换 int(medDosage) 之类的值以确保它是正确的类型,但仍然不起作用。我知道我的语法是正确的,所以我无法真正理解错误。你能帮忙解释为什么会出现这个错误吗?

提前致谢。

您需要确保最后一个参数是一个元组:

myCursor.execute("INSERT INTO dosage (dosageDesc) VALUES (%s)", (medDosage,))