如何使用alasql拥有持久数据库

How to have persistant database using alasql

我已经在 Codepen 上试过了:

var result = db.exec('CREATE DATABASE IF NOT EXISTS MyBase; \
                      ATTACH INDEXEDDB DATABASE MyBase;\
                      USE MyBase;'+command)[3];

但是在第一个命令之后我得到了数据库存在的异常,如果我不使用创建数据库我得到了数据库不存在的错误

如果我一开始就调用了 CREATE DATABASE IF NOT EXISTS MyBase,那么即使我调用了 create table,我也会得到 table 不存在的错误。

如果我用过:

CREATE INDEXEDDB DATABASE IF NOT EXISTS MyBase

我收到数据库不存在的错误消息。

我也试过执行:

window.indexedDB.open("MyBase", 3);

但这也行不通。

如果我不使用 indexDB,table 会在刷新后被清除。

这是我的代码笔https://codepen.io/jcubic/pen/dVBaRm?editors=0010

索引数据库需要异步代码:

alasql('CREATE DATABASE IF NOT EXISTS MyBase; \
        ATTACH INDEXEDDB DATABASE MyBase;\
        USE MyBase;', [], function() {
    alasql(command, [], function(res) {
    });
});

它在维基上 https://github.com/agershun/alasql/wiki/IndexedD