【发布时间】:2026-01-21 03:50:02
【问题描述】:
我有一个 mysql 表,它存储一些 sql 查询。
架构是这样的:
CREATE TABLE `queries` (`qry_id` int(11) NOT NULL AUTO_INCREMENT,
`qry_text` varchar(2000) COLLATE utf8_unicode_ci NOT NULL,
`result_table` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
`last_run` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`period` int(11) DEFAULT NULL,
`error` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`qry_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
例如,一个qry文本是SELECT * FROM TABLE WHERE COL1 = '%s' and COL2 = '%s'
在 python 中,我从 sql 表中提取了一个名为 qry 的 str。
qry = "SELECT * FROM TABLE WHERE COL1 = '%s' and COL2 = '%s' "
我想要的是:
qry = """SELECT * FROM TABLE WHERE COL1 = '%s' and COL2 = '%s' """ % (var1, var2)
如何人为地在 qry 周围添加三引号并将 % (var1, var2) 附加到它。我需要将 qry(以我指定的格式)传递给 API 以运行。谢谢!
【问题讨论】:
-
你知道
""和""""""完全一样 -
三重引号只是形成字符串的语法。它们不是最终生成的字符串的一部分。
-
我不明白这个问题。 sql表中到底是什么?它是否包含查询:
SELECT * FROM TABLE WHERE COL1 = '%s' and COL2 = '%s'?一个python代码片段:qry = "SELECT * FROM TABLE WHERE COL1 = '%s' and COL2 = '%s' "? -
另外,清理您的输入。以免我们忘记小鲍比droptables。 xkcd.com/327
-
您将
'qry = "SELECT * FROM TABLE WHERE COL1 = '%s' and COL2 = '%s' "'存储在您的数据库中。 o_O(@JakobBowyer 这是 Bobby Tables ......)