I am try to use a in-memory sqlite db via adbapi, but sqlite gives error:" OperationalError: no such table: test ".

how can I made it work?

This is my test code:

from twisted.internet import reactor
from twisted.enterprise import adbapi

def create():
    db.runOperation("create table test(id)").addCallback(result).addErrback(error)

def insert():
    db.runOperation("insert into test(id) values(1)").addCallback(result).addErrback(error)

def select():
    db.runQuery("""SELECT * FROM test""").addCallback(result).addErrback(error)

def result(l):
    print l

def error(fail):
    print fail

db = adbapi.ConnectionPool("sqlite3", database=":memory:")
reactor.callLater(0.1, create)
reactor.callLater(1, insert)
reactor.callLater(2, select)
reactor.run()