【发布时间】:2025-11-27 16:40:01
【问题描述】:
代码应该根据用户在 python 环境中的输入执行查询(而不是在 sql 查询中)。例如,该变量是在 Python 环境中定义的,并且在 table name = customers 的原始输入中,我希望查询打印表客户的列名。
但是,下面的代码报告语法错误。如果我删除反斜杠和内引号,它将报告no such column: table_name。看来customers 的值没有被传递到查询中,并且查询正在将table_name 作为字符串读取。
请帮忙。谢谢
import sqlite3
def ask_column(db_name, table_name):
conn = sqlite3.connect(db_name)
c = conn.cursor()
c.execute('SELECT sql FROM sqlite_master WHERE type = \'table\' And name = \'table_name\'')
print c.fetchall()
conn.close()
db_name = raw_input("Please type the database name : ")
table_name = raw_input("Please type the table name: ")
ask_column(db_name, table_name)
【问题讨论】: