No, they cannot ever access the same in-memory database from different processes Instead, a new connection to :memory:
always creates a new database.
From the SQLite documentation:
Every :memory: database is distinct from every other. So, opening two database connections each with the filename ":memory:" will create two independent in-memory databases.
This is different from an on-disk database, where creating multiple connections with the same connection string means you are connecting to one database.
Within one process it is possible to share an in-memory database if you use the file::memory:?cache=shared
URI:
conn = sqlite3.connect('file::memory:?cache=shared', uri=True)
but this is still not accessible from other another process.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…