在sqlite3中命名表

时间:2015-02-21 20:34:20

标签: python sqlite

我正在尝试使用Python将表的名称设置为当前日期时间。但是,我一直收到语法错误。我尝试过几种不同的东西,你会在下面看到。如果可以的话请帮忙。谢谢!

选项一:

import sqlite3, datetime
con = sqlite3.connect('test.db')
cur = con.cursor()
cur.execute("CREATE TABLE datetime.datetime.now().strftime('%Y%d%m')(col1 TEXT, col2 TEXT)")

选项二:

import sqlite3, datetime
con = sqlite3.connect('test.db')
cur = con.cursor()
varOne = datetime.datetime.now(strftime('%Y%d%m')
cur.execute("CREATE TABLE {tn} (col1 TEXT, col2 TEXT)".format(tn = varOne))

这两个都在[某些字符]附近产生相同的操作错误:语法错误。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

尝试以下解决方案。它为我工作。

import sqlite3
from datetime import datetime

conn = sqlite3.connect('test.db')
c = conn.cursor()
now = datetime.now()
table_name = '[' + datetime.strftime(now,'%Y%d%m') + ']'
sql = "create table %s (%s text,%s text)" % (table_name,"col1","col2")
c.execute(sql)