SQLite 使用变量创建 table 名称
SQLite creating table name using a variable
我想知道是否可以使用 python 中的 datetime 模块来创建 day-specific tables 以便 table 的名称是日期本身。
date_object = datetime.date.today()
sqlite_create_transfer_table = '''CREATE TABLE IF NOT EXISTS date_object (
sender TEXT NOT NULL,
recipient TEXT NOT NULL,
ID text NOT NULL,
Size NOT NULL,
Colour NOT NULL,
Quantity INTEGER NOT NULL);'''
然而,这只是使 table 标题为 'date_object' 而不是使用变量。任何帮助将不胜感激,谢谢! <3
您需要像这样连接查询:
sqlite_create_transfer_table = '''CREATE TABLE IF NOT EXISTS '+date_object+' (
sender TEXT NOT NULL,
recipient TEXT NOT NULL,
ID text NOT NULL,
Size NOT NULL,
Colour NOT NULL,
Quantity INTEGER NOT NULL);'''
datetime.date.today()
将 return 一个 datetime.date
对象,您必须将其转换为字符串,但即便如此,像 2022-03-05
这样的字符串也不是 SQLite 的有效名称。
您必须将其括在方括号或反引号或双引号之间。
试试这个:
date_object = datetime.date.today()
sqlite_create_transfer_table = f"""CREATE TABLE IF NOT EXISTS [%s](
sender TEXT NOT NULL,
recipient TEXT NOT NULL,
ID text NOT NULL,
Size NOT NULL,
Colour NOT NULL,
Quantity INTEGER NOT NULL);""" % date_object
我想知道是否可以使用 python 中的 datetime 模块来创建 day-specific tables 以便 table 的名称是日期本身。
date_object = datetime.date.today()
sqlite_create_transfer_table = '''CREATE TABLE IF NOT EXISTS date_object (
sender TEXT NOT NULL,
recipient TEXT NOT NULL,
ID text NOT NULL,
Size NOT NULL,
Colour NOT NULL,
Quantity INTEGER NOT NULL);'''
然而,这只是使 table 标题为 'date_object' 而不是使用变量。任何帮助将不胜感激,谢谢! <3
您需要像这样连接查询:
sqlite_create_transfer_table = '''CREATE TABLE IF NOT EXISTS '+date_object+' (
sender TEXT NOT NULL,
recipient TEXT NOT NULL,
ID text NOT NULL,
Size NOT NULL,
Colour NOT NULL,
Quantity INTEGER NOT NULL);'''
datetime.date.today()
将 return 一个 datetime.date
对象,您必须将其转换为字符串,但即便如此,像 2022-03-05
这样的字符串也不是 SQLite 的有效名称。
您必须将其括在方括号或反引号或双引号之间。
试试这个:
date_object = datetime.date.today()
sqlite_create_transfer_table = f"""CREATE TABLE IF NOT EXISTS [%s](
sender TEXT NOT NULL,
recipient TEXT NOT NULL,
ID text NOT NULL,
Size NOT NULL,
Colour NOT NULL,
Quantity INTEGER NOT NULL);""" % date_object