我已经在Codepen上尝试过:

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


但是在执行第一条命令后,我发现数据库存在异常,如果不使用create database,则会出现数据库不存在的错误

如果我在一开始就调用了CREATE DATABASE IF NOT EXISTS MyBase,那么即使我将其称为create table,也将出现表不存在的错误。

如果我使用过:

CREATE INDEXEDDB DATABASE IF NOT EXISTS MyBase


我有一个数据库不存在的错误。

我也尝试执行:

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


但这也不起作用。

如果我不使用indexDB,则刷新后将清除表。

这是我的Codepen 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) {
    });
});


在Wiki https://github.com/agershun/alasql/wiki/IndexedD

10-08 14:00