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

时间:2017-06-02 15:50:30

标签: 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,
      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);
    }
  );
}

我为UNIQUErideId指定了ts索引,但对于rideIdts的给定组合,我仍然获得了多个计数。< / p>

1 个答案:

答案 0 :(得分:0)

您要执行的操作的正确语法是:

CREATE UNIQUE INDEX unq_event_id ON cell(rideId, ts)

您应该检查代码的错误返回状态。

考虑到代码的性质,我猜你想要events表上的索引:

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