MySQL/Python>语句中占位符的语法错误?

2024-09-27 02:17:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在insert语句中使用占位符。在

我使用的是PyCharm/python3.6,一个MySQL数据库,以及mysql.connector(不知道到底是哪一个。)

enter image description here

为什么下面的代码不起作用?在

insert_stmt = "INSERT INTO mydb.datensatz (Titel) VALUES ('%s');"
data = (titel)
cursor.execute(insert_stmt, data)
cnx.commit() 

titel是一个字符串。在

这是插入的内容,但我需要将titel字符串放入该行。 enter image description here

删除大括号中的“”时,PyCharm会给我错误的MySQL语法。在

在这种情况下如何使用占位符?我如何使用更多的占位符,例如插入到多个列中?研究没用。在


Tags: 字符串代码数据库dataconnectormysql语句pycharm
1条回答
网友
1楼 · 发布于 2024-09-27 02:17:43

您需要删除%s中的引号,并确保参数是元组中的:

insert_stmt = "INSERT INTO mydb.datensatz (Titel) VALUES (%s);" # Removed quotes around %s
data = (titel,) # Added trailing comma to make tuple
cursor.execute(insert_stmt, data)
cnx.commit()

当元组中只有一个值时,必须包括一个尾随逗号:(item,)

相关问题 更多 >

    热门问题