pythongerated MySQL SELECT查询未返回完整的结果列表

2024-05-29 11:04:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个Python3脚本,它接受用户输入的一个数字,并将其分配给一个名为“set\u budget”的变量,然后该变量用于构造一个MySQLSELECT查询。我正在使用MySQLdb数据库连接器库。我的代码的相关部分如下所示:

set_budget = ''
set_budget = sys.argv[1]

budget = ''
if set_budget == '0':
            budget = '10.00'
    elif set_budget == '1':
            budget = '25.00'
    elif set_budget == '2':
            budget = '50.00'
    else:
            print('Enter "0" for $10.00, "1" for $25.00, and "2" for $50.00')

budget_query = ("SELECT park_name FROM parks WHERE admission_price <= " + budget)

cursor = connection.cursor(MySQLdb.cursors.DictCursor)
cursor.execute (budget_query)
result_set = cursor.fetchall()

如果用户输入数字“0”,理论上应该创建一个类似于SELECT park_name FROM parks WHERE admission_price <= 10.00的MySQL查询。“价格”列是数据库中的十进制(5,2)字段。你知道吗

当我直接在MySQL中查询SELECT park_name FROM parks WHERE admission_price <= 10.00时,它会正确地返回门票价格在0.00到10.00之间的所有公园。你知道吗

但是,当我运行Python脚本时,只返回门票价格在0.00到9.99之间的公园。此外,如果我在脚本中键入“1”来选择$25.00选项,除了排除门票价格正好为25.00的公园外,还莫名其妙地排除了一些价格在10.00到25.00之间的公园。你知道吗

我在执行这段代码时是做错了什么,还是应该使用不同的方法用Python构造MySQL查询?你知道吗


Tags: namefrom脚本parkformysqlwhereselect
1条回答
网友
1楼 · 发布于 2024-05-29 11:04:32

原来我的代码没有问题。当我重新启动我的ubuntu16.04服务器时,问题自行解决了。我不知道为什么会发生这种情况,但我会留下我的问题,以防其他人遇到类似的问题。你知道吗

相关问题 更多 >

    热门问题