检查WebSQL中是否存在索引

问题描述:

有没有办法检查WebSQL数据库中的表是否存在索引? 我正在使用CREATE UNIQUE INDEX INDEX_GUID ON TABLE PERSONS进行创建。但是,如果索引已经存在我得到一个错误: 检查WebSQL中是否存在索引

{ 
    code: 5, // SYNTAX_ERR - from docs 
    message: "could not prepare statement (1 index INDEX_GUID already exists)" 
} 

对我来说,最好的办法是列出一个表的所有索引。

+0

使用'IF NOT EXISTS'对我无效。我需要知道索引是否存在。 – drinovc

我正在使用它,但它是一种解决方法。我希望错误信息是英文的。

db.transaction(function (tx) { 
    tx.executeSql(
     "CREATE UNIQUE INDEX INDEX_GUID ON TABLE PERSONS", 
     [], 
     function (tx, rs) { 
      // index created 
     }, 
     function (tx, e) { 
      if (e.message.indexOf("already exists") == -1) { 
       // index not created - already exists 
      } 
     }); 
    ); 
});