亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用帶有參數化占位符的 sqlite3 Python 庫創建 SQLite 表?

如何使用帶有參數化占位符的 sqlite3 Python 庫創建 SQLite 表?

牛魔王的故事 2021-09-28 17:44:39
從 Python 的文檔(https://docs.python.org/3/library/sqlite3.html#sqlite3.Cursor.execute),我應該能夠使用參數化占位符執行 SQL 語句。然而,下面的代碼不起作用。import sqlite3conn = sqlite3.connect("temp.db")c = conn.cursor()c.execute("create table ? (foo text, bar text)", ("table_name",))conn.commit()conn.close()我收到一個錯誤:Traceback (most recent call last):  File "main.py", line 6, in <module>    c.execute("create table ? (foo text, bar text)", ("table_name",))sqlite3.OperationalError: near "?": syntax error但是如果我不使用參數化占位符,它就可以工作。
查看完整描述

1 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

一句話——不。您只能參數化值,不能參數化對象名稱(在本例中為表名稱)。如果你想做這樣的事情,你必須求助于字符串操作,例如:

c.execute("create table %s (foo text, bar text)" % ("table_name"))


查看完整回答
反對 回復 2021-09-28
  • 1 回答
  • 0 關注
  • 311 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號