列上的sqlite唯一索引具有重复数据

列上的sqlite唯一索引具有重复数据,sql,sqlite,Sql,Sqlite,我有一个sqlite表模式: function createTableEvents(){ runQuery(` CREATE TABLE events( devId INTEGER, rideId BIGINT, ts BIGINT, lat DOUBLE, lng DOUBLE, alt FLOAT, spd FLOAT, brg FLOAT, hepe FLOAT,

我有一个
sqlite
表模式:

function createTableEvents(){
  runQuery(`
    CREATE TABLE events(
      devId INTEGER,
      rideId BIGINT,
      ts BIGINT,
      lat DOUBLE,
      lng DOUBLE,
      alt FLOAT,
      spd FLOAT,
      brg FLOAT,
      hepe FLOAT,
      vepe FLOAT,
      ang FLOAT,
      temp FLOAT,
      motion BOOLEAN,
      ignition BOOLEAN,
      mainPower BOOLEAN,
      relayState BOOLEAN
    );
    CREATE INDEX event_id ON cell(rideId, ts), UNIQUE(rideId, ts);`,
    function(result){
      console.log('createTableEvents rows', result.rows.length);
    }
  );
}

我已经为
rideId
ts
指定了
UNIQUE
索引,但是对于
rideId
ts
的给定组合,我得到了不止一个计数。正确的语法是:

CREATE UNIQUE INDEX unq_event_id ON cell(rideId, ts)
您应该检查代码的错误返回状态

鉴于代码的性质,我猜您需要
events
表上的索引:

CREATE UNIQUE INDEX unq_events_rideid_ts ON events(rideId, ts);

您确定单个
runQuery()
调用可以执行多条语句吗?runQuery()只能执行一条语句。移动了create table的runQuery的回调函数中的索引创建,并按预期工作。Thanx指出了这一点。但runQuery只执行一条语句