我想在 python 中为 sqlite3 数据库创建一个架构,但 sqlite 似乎不支持CREATE SCHEMA(sqlite docs)。我已经研究过ATTACH,似乎可以通过使用第二个数据库来完成这项工作,但我只需要一个具有架构的数据库。
我想做一些事情:
import sqlite3
db = sqlite3.connect('db_file.db')
db.execute("CREATE TABLE my_schema.my_table(column TYPE);")
db.commit()
Run Code Online (Sandbox Code Playgroud)
但是,它抛出一个异常:
Traceback (most recent call last):
File "C:/Users/Mod/Projects/sandbox/test_db.py", line 8, in <module>
db.execute("CREATE TABLE my_schema.my_table(column TYPE);")
OperationalError: unknown database my_schema
Run Code Online (Sandbox Code Playgroud)
我知道我可以这样使用ATTACH...
import sqlite3
db = sqlite3.connect('db_file.db')
db.execute("ATTACH DATABASE 'db_file_2.db' AS 'my_schema';")
db.execute("CREATE TABLE my_schema.my_table(column TYPE);")
db.commit()
Run Code Online (Sandbox Code Playgroud)
...但是有没有办法在没有第二个数据库的情况下创建模式?