小编Joh*_*thy的帖子

Python Sqlite3:无需使用第二个数据库即可创建架构

我想在 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)

...但是有没有办法在没有第二个数据库的情况下创建模式?

python database sqlite

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

database ×1

python ×1

sqlite ×1