sqlite3 python生成表

问题描述 投票:0回答:1

我正在尝试根据函数的参数生成表。为了生成表,我想到了通过以下函数传递我想执行的字符串:

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”附近:语法错误

有什么想法?

谢谢

python sqlite dynamically-generated
1个回答
0
投票

尝试这个:

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')
© www.soinside.com 2019 - 2024. All rights reserved.