[英]Python DELETE mysql/mariadb with a python variable not working
我正在尝试按照以下文章中的描述进行操作,我已使用基本的python程序(不使用flask)简化了此操作,只是为了证明我的概念,但是我遇到了一些问题。
我的代码如下:
import mysql.connector as mariadb
new = 'ksk'
mariadb_connection = mariadb.connect(user='root', password='mypwd',
database='customers')
cursor = mariadb_connection.cursor()
cursor.execute("DELETE FROM customer_info WHERE name = %s" % (new))
mariadb_connection.commit()
print('its gone')
这引发了一个错误,说我的桌子上,
"unknown column 'ksk' in where clause"
这不是真的,我可以看到名称为ksk的行。
为了证明这一点,如果我将delete语句更改为:
cursor.execute("DELETE FROM customer_info WHERE name = 'ksk'
行ksk被成功删除。 我要去哪里错了?
https://pynative.com/python-mysql-execute-parameterized-query-using-prepared-statement/-
然后,我们将这两个列的值按顺序添加到输入元组中,并传递了SQL更新查询和输入元组t0 cursor.execute()函数,请记住,元组按占位符的顺序包含用户数据。
CURSOR的execute()方法采用一个可选的第二个参数 ,该参数包含一个数据值列表。 列表中的每个条目都必须为元组格式,才能与语句中的参数标记关联。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.