sqlite 无法使用WebSQL/Chrome创建多个表

4sup72z8  于 2022-11-15  发布在  SQLite
关注(0)|答案(1)|浏览(161)

我不能在Chrome App数据库上创建多个表。以下是代码片段:

lk.webdb.open = function() {
  var dbSize = 10 * 1024 * 1024; // 10MB
  lk.webdb.db = openDatabase("SSW3", "1.0", "SEO SERP Workbench", dbSize);
}

lk.webdb.createTable = function() {
var db = lk.webdb.db;
db.transaction(function(tx) {
  tx.executeSql("CREATE TABLE IF NOT EXISTS items (ID INTEGER PRIMARY KEY ASC, setid INTEGER , day DATETIME , engine TEXT, query TEXT , url TEXT , position INTEGER )", []);
  tx.executeSql("CREATE TABLE IF NOT EXISTS sets (ID INTEGER PRIMARY KEY ASC, name TEXT )", []);
  });
}

items被创建,如果不存在,则永远不会创建表sets
此外,在尝试此操作之前,我想根据活动用户项目创建多个items表,命名为items1、items2等,但同样,当数据库没有表时,会创建第一个表,但不会创建其他表。
查看Web和W3C文档,我没有找到一个创建多个表的示例,但看起来每个数据库只能创建一个表(这很荒谬),或者我只是以错误的方式做事情……

7dl7o3gd

7dl7o3gd1#

我运行了以下代码,在创建这两个表时没有任何问题:

var db = openDatabase("SSW3", "1.0", "SEO SERP Workbench", 10 * 1024 * 1024);
db.transaction(function (tx) {
  tx.executeSql("CREATE TABLE IF NOT EXISTS items (ID INTEGER PRIMARY KEY ASC, setid INTEGER , day DATETIME , engine TEXT, query TEXT , url TEXT , position INTEGER )", []);
  tx.executeSql("CREATE TABLE IF NOT EXISTS sets (ID INTEGER PRIMARY KEY ASC, name TEXT )", [] );
});

相关问题