首页 > 解决方案 > Python MySql Select 语句。Python条目中的列在哪里

问题描述

我想不通我已经尝试了很多可能性。我想从数据库中选择一条记录。我从条目中获取一个 txt 以放入 select 语句中。

def callback():
txt = rentry2.get()
print("If empty there should be nothing ---> " + txt)
if txt != "":
    print("is not empty: " + txt)
    my_cursor.execute("SELECT Name, Discription, Quantity, Price, Barcode FROM stock WHERE Barcode='" + txt + "'")
    result = my_cursor.fetchall()
    for row in result:
        rlbl1 = Label(root, text=row)
        rlbl1.grid(row=3)
        print(row)

我也尝试过使用这个选择语句:

my_cursor.execute("SELECT Name, Discription, Quantity, Price, Barcode FROM stock WHERE Barcode=%s", (txt,))
my_cursor.execute("SELECT Name, Discription, Quantity, Price, Barcode FROM stock WHERE Barcode='%s'", (txt,))

txt 的值是条形码:20083335。我从 Tkinter 输入框中获取 txt 值。当我运行代码并将条形码放入输入框中时。它给了我输入框的值,但我没有从 sql 查询中得到任何结果。如果我在选择语句中输入条形码,我得到正确的 sql 查询并且两者都没有任何结果。有人可以帮我吗?错误:mysql.connector.errors.ProgrammingError: 1064 (42000):您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的“20083335”附近使用正确的语法

标签: pythonmysqlsql

解决方案


您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的“20083335”附近使用正确的语法

您可以尝试通过此附加您的txt 。

my_cursor.execute("SELECT Name, Discription, Quantity, Price, Barcode FROM stock WHERE Barcode=%s",(txt,))

您还可以仔细检查您的描述(描述)列名是否真的是这样拼写的?这可能是一个错字。


推荐阅读