我正在尝试根据函数的参数生成表。为了生成表,我想到了通过以下函数传递我想执行的字符串:
conn = sqlite3.connect('tutorial.db')
c = conn.cursor()
def create_table(name, unix, datestamp, keyword, value):
command = "CREATE TABLE IF NOT EXISTS " + name + "(" + unix + " REAL, " + datestamp + " TEXT, " + keyword + " TEXT, " + value + " REAL)"
c.execute('CREATE TABLE' + command)
但是,当我运行命令时:
create_table('new','boy','girl','joy','joe')
我收到错误:追溯(最近一次通话):文件“ C:\ Users \ David \ Documents \ learn_sql_ \ learn_sql.py”,第22行,在create_table('new','boy','girl','joy','joe')create_table中第12行的文件“ C:\ Users \ David \ Documents \ learn_sql_ \ learn_sql.py”c.execute('CREATE TABLE'+命令)sqlite3.OperationalError:“ TABLECREATE”附近:语法错误
有什么想法?
谢谢
尝试这个:
import sqlite3
conn = sqlite3.connect('tutorial.db')
c = conn.cursor()
def create_table(name, unix, datestamp, keyword, value):
#c.execute('CREATE TABLE' + command)
cmd = "CREATE TABLE IF NOT EXISTS %s(%s real,%s text,%s text,%s real)" % (name,unix,datestamp,keyword,value)
print(cmd)
c.execute(cmd)
create_table('new','boy','girl','joy','joe')