2017-08-02 13 views
0

Pythonで名前を持つ複数のメモリ内のsqliteデータベースを作成したいとします。 sqliteのコマンドラインでPythonでデータベース名を使用してメモリ内のsqliteデータベースを作成する

それは、この構文を使用していることを行うことが可能です:

':memory:' AS database_name 

が、このようなPythonのconenction文字列でそれを使用して:

con = sqlite3.connect("':memory:' AS database_name") 

は、エラーが発生します。

私の問題は、それらにアクセスするための名前を持つメモリデータベースを複数作成する方法です。

私たちはそれをどのようにPythonで行うことができましたか?

答えて

2

AS句は、ATTACH statementでのみ動作しますが、メインデータベース(常にmainという名前)では動作しません。

データベースの識別情報はのファイル名から得られますので、データベース名を変更しても問題ありません。

、インメモリ・データベース用のカスタム「ファイル」の名前を使用modeパラメータでURI file nameを使用するには:

conn = sqlite3.connect("file:blah?mode=memory", uri=True) 

しかし、同じにカスタムデータベース名を持つ別のインメモリデータベースをアタッチします接続したら、通常はATTACHを実行してください:

+0

私の目的に必要な例を教えてください。 –

関連する問題