Я хотел бы создать схему для базы данных sqlite3 в python, но sqlite не поддерживает CREATE SCHEMA
(sqlite docs). Я просмотрел ATTACH
, и похоже, что он выполнит эту работу, используя вторую базу данных, но мне нужна только одна база данных с схемой.Python Sqlite3: создать схему без необходимости использовать вторую базу данных
Я хотел бы сделать что-то вдоль этих линий:
import sqlite3
db = sqlite3.connect('db_file.db')
db.execute("CREATE TABLE my_schema.my_table(column TYPE);")
db.commit()
Однако, он бросает исключение:
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
Я знаю, что я могу использовать 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()
... но есть ли способ создать схему без второй базы данных?
Зачем вам вообще нужна схема? Почему бы просто не использовать 'CREATE TABLE my_table (column TYPE);' вместо этого? –
В любом случае основная база данных использует имя схемы 'main'. –
Извините, я должен был уточнить в своем оригинальном посте. Я должен использовать те же запросы INSERT из базы данных MySQL. База данных sqlite3 создается, если соединение mysql db никак не срабатывает. –