1
基本上,我有一個MySQL表是這樣的:MySQL的Python的查詢單獨工作,但失敗時的參數
CREATE TABLE markets (
id INTEGER AUTO_INCREMENT NOT NULL,
root_symbol VARCHAR(64) NOT NULL,
metadata JSON NOT NULL,
PRIMARY KEY (id)
);
元數據列包含一個JSON文件是這樣的:
metadata = {
'tick_size': 0.01,
'currency': 'USD'
}
在Python中,以下兩行工作:
cur.execute("SELECT root_symbol FROM markets WHERE JSON_EXTRACT(metadata, '$.currency') = 'USD'")
cur.execute("SELECT root_symbol FROM markets WHERE JSON_EXTRACT(metadata, '$.tick_size') = 0.25")
然而,當參數化,這些2不:
cur.execute("SELECT root_symbol FROM markets WHERE JSON_EXTRACT(metadata, '$.%s') = %s", ('currency', "USD"))
cur.execute("SELECT root_symbol FROM markets WHERE JSON_EXTRACT(metadata, '$.%s') = %s", ('tick_size', 0.25))
有人可以向我解釋爲什麼以及如何解決它?謝謝!
非常感謝,alecxe! – agiap