繁体   English   中英

Python删除带有python变量的mysql / mariadb不起作用

[英]Python DELETE mysql/mariadb with a python variable not working

我正在尝试按照以下文章中的描述进行操作,我已使用基本的python程序(不使用flask)简化了此操作,只是为了证明我的概念,但是我遇到了一些问题。

flask_mysqldb删除FROM变量表

我的代码如下:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM