首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在大括号两边的字符串中添加单引号- Python

在大括号两边的字符串中添加单引号- Python
EN

Stack Overflow用户
提问于 2018-06-08 05:23:46
回答 3查看 1.4K关注 0票数 1

当我运行以下命令时:

代码语言:javascript
复制
table = cfg_pre + '_' + cfg_tbl
check_data = 'SELECT COUNT(*) FROM X WHERE TABLE_NM = {}'.format(table)

我得到了以下信息:

代码语言:javascript
复制
SELECT COUNT(*) FROM X WHERE TABLE_NM = ABC_123

我需要的是:

代码语言:javascript
复制
SELECT COUNT(*) FROM X WHERE TABLE_NM = 'ABC_123'

否则,SQL将不会执行。有什么想法吗?

EN

回答 3

Stack Overflow用户

发布于 2018-06-08 05:26:43

使用双语音标记而不是单语音标记:

代码语言:javascript
复制
"SELECT COUNT(*) FROM X WHERE TABLE_NM = '{}'".format(table)

这并不完全相关(与其说是必须的,不如说是精确的),但如果您使用的是Python3.6,也可以使用f-strings (但您仍然需要双语音标记)。

票数 3
EN

Stack Overflow用户

发布于 2018-06-08 05:26:49

如果你使用的是Python 3.6,f字符串是一个f-un解决方案。最后,您需要使用双引号将单引号括起来。

代码语言:javascript
复制
table = f'{cfg_pre}_{cfg_tbl}'
check_data = f"SELECT COUNT(*) FROM X WHERE TABLE_NM = '{table}'"
票数 1
EN

Stack Overflow用户

发布于 2018-06-08 05:28:42

虽然SQL注入是使用变量创建查询时可能遇到的问题,但解决方案是转义字符或更改引号。

代码语言:javascript
复制
table = cfg_pre + '_' + cfg_tbl
check_data = "SELECT COUNT(*) FROM X WHERE TABLE_NM = '{}'".format(table)

代码语言:javascript
复制
table = cfg_pre + '_' + cfg_tbl
check_data = 'SELECT COUNT(*) FROM X WHERE TABLE_NM = \'{}\''.format(table)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50750368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档