我想在SQLite中使用Python创建一个表,其中列名将存储在变量中。
import sqlite3 as lite<br>
con = lite.connect('MyData.db')
name = raw_input() # I am taking values from user here
id1 = raw_input()
a=con.execute("CREATE TABLE PROD_SA_U_1(
name TEXT,
ids INT")
我想要用户输入的内容,而不是将列命名为“name”,“id”。
答案 0 :(得分:1)
您只需替换用户在查询字符串中提供的名称。
示例:
import sqlite3 as lite
con = lite.connect('MyData.db')
field_1 = raw_input()
field_2 = raw_input()
query = "CREATE TABLE PROD_SA_U_1( %s TEXT, %s INT)"
a = con.execute(query % (field_1, field_2))
但是,请注意,如果字段未经过验证,这种方法对于运行不正确的查询是很难的,因此您应该在进一步传递之前清理字段。例如,恶意用户可能会在您的参数中传递Drop database
查询。