簡體   English   中英

從MySQL刪除用戶輸入

[英]Delete user input from MySQL

我是用戶的回文輸入,試圖刪除MySQL數據,但我的代碼不起作用。 我找不到代碼錯誤。 配雙眼。

import mysql.connector


    Accno = int(input("Enter account number which you delete"))

    mydb = mysql.connector.connect(host="localhost", user="root", passwd="root",database="abc")
    mycursor = mydb.cursor()

    sql = "Delete from addacc1 where accno = %s"
    val = (Accno)
    mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record Deleted.")

執行腳本后,出現此錯誤。

Traceback (most recent call last):
  File "C:/Users/K/PycharmProjects/Pratice/DELETE record in db.py", line 13, in <module>
    mycursor.execute(sql, val)
  File "C:\Users\K\PycharmProjects\Pratice\venv\lib\site-packages\mysql\connector\cursor.py", line 551, in execute
    self._handle_result(self._connection.cmd_query(stmt))
  File "C:\Users\K\PycharmProjects\Pratice\venv\lib\site-packages\mysql\connector\connection.py", line 490, in cmd_query
    result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query))
  File "C:\Users\K\PycharmProjects\Pratice\venv\lib\site-packages\mysql\connector\connection.py", line 395, in _handle_result
    raise errors.get_exception(packet)
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

你需要改變

val = (Accno)

val = (Accno,)

供官方文檔參考

一個帶有一個項目的元組是通過在值后面加上逗號來構造的(僅將一個值括在括號中是不夠的)。 丑陋但有效

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM