[英]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.