いくつかのSQLクエリを格納するmysqlテーブルがあります。
スキーマは次のようなものです。
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;
たとえば、1つの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に渡す必要があります。ありがとう!