Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

SQLite3でインメモリな別DBを作って切り替えたりしてみる

実際のところ

ATTACH DATABASE ':memory:' AS aux1;

コマンドラインから起動した状態では、mainもインメモリで起動してたみたいですね

.databases
--- main: "" r/w
--- aux1: "" r/w

なんも考えずに

CREATE TABLE foobar(val INT);

INSERT INTO foobar(val) VALUES (13);

SELECT val FROM foobar ;
--- 13


作ったDBにテーブルを追加するには

CREATE TABLE aux1.foobar(val INT);

INSERT INTO aux1.foobar(val) VALUES(42);
SELECT * FROM main.foobar;
--- 13

SELECT * FROM aux1.foobar;
--- 42