- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个后端数据库,我想对列名使用动态 SELECT 语句。问题是当我使用方法 A 时,列名被正确打印,但 Mac_Address 字段周围没有“”。在方法 B 中,情况正好相反,Mac_Address 有引号“”,但“”也出现在我的列名称周围。我怎样才能让两者同时工作?
方法A)
mac_address = 'xx xx xx xx xx xx'
et_labels = ['RSSI','ADC0','ADC1]
sql = "SELECT %s FROM mac_tbl WHERE Mac_Address = %s" % ((','.join(map(str,et_labels))),mac_address)
cursor.execute(sql)
运行:
SELECT RSSI, ADC0, ADC1 WHERE Mac_Address = xx xx xx xx xx xx
这会失败,因为 MySQL 希望看到像这样的 Mac_Address
:'xx xx xx xx xx xx'
方法B)
mac_address = 'xx xx xx xx xx xx'
et_labels = ['RSSI','ADC0','ADC1]
cursor.execute("""SELECT %s from mac_tbl WHERE Mac_Address = %s;""",(",".join(et_labels),mac_address))
运行:
SELECT 'RSSI,ADC0,ADC1' WHERE Mac_Address = 'xx xx xx xx xx xx'
此操作失败,因为列名称周围有 ' '
,并且不被视为单独的名称,但 Mac_Address
字段是正确的。
我尝试这样做的原因是列名称是从远程设备动态读取的,并且它们都有不同的配置,因此我需要在生成 SELECT 语句之前为每个设备列出特定配置的列表。
最佳答案
试试这个:
mac_address = 'xx xx xx xx xx xx'
et_labels = ['RSSI','ADC0','ADC1]
query = """
SELECT {0} FROM mac_tbl
WHERE Mac_Address = %s;
""".format(",".join(et_labels))
cursor.execute(query,(mac_address,))
在此代码中,我们在执行查询(并传递参数)之前使用字符串格式
HTH。
关于python - 如何将 Python 参数化 MySQL 语句与动态 SELECT 语句结合起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22339538/
我正在尝试执行 vagrant up 但一直遇到此错误: ==> default: IOError: [Errno 13] Permission denied: '/usr/local/lib/pyt
我在容器 div 中有一系列动态创建的不同高度的 div。 Varying text... Varying text... Varying text... Varying text.
通过 cygwin 运行 vagrant up 时遇到以下错误。 stderr: /bin/bash: /home/vagrant/.ansible/tmp/ansible-tmp-14872260
今天要向小伙伴们介绍的是一个能够快速地把数据制作成可视化、交互页面的 Python 框架:Streamlit,分分钟让你的数据动起来! 犹记得我在做机器学习和数据分析方面的毕设时,
我是 vagrant 的新手,正在尝试将第二个磁盘添加到我正在用 vagrant 制作的虚拟机中。 我想出了如何在第一次启动虚拟机时连接磁盘,但是当我关闭机器时 然后再次备份(使用 'vagrant
我是一名优秀的程序员,十分优秀!