[英]How can I store raw stringified JSON in a sqlite column?
我正在使用帶有 python 的 sqlite3,並且我正在嘗試一種簡單的方法將原始 JSON 存儲到名為“數據”的特定列中。 每次我嘗試將字符串化的 JSON 連接到 INSERT 語句中時,都會出現語法錯誤。 有沒有辦法解決這個問題?
data = str({'test': 21, 'test2':'hello'})
query = f"INSERT INTO table (DATA) VALUES ('{data}')"
數據庫中列的類型是什么? 我建議將您的 JSON 作為字符串/varchar 類型存儲到數據庫中。 您也可以將其轉換為 blob,但我認為字符串更易於處理。
想通了,而不是在執行 c.execute 之前連接字符串,您可以只執行 c.execute("INSERT INTO table (c1, c2, c3) VALUES (?,?,?)", [c1,3]] )
你不能字符串化、存儲和解析嗎
db.run("CREATE TABLE IF NOT EXISTS table (data TEXT)");
stmt = db.prepare("INSERT INTO table VALUES (?)");
stmt.run(JSON.stringify(data));
stmt.finalize();
db.each("SELECT rowid AS id, info FROM table", (err, row) => {
console.log(row.id + ": " + JSON.parse(row.data).test);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.