我想确保我的表中没有重复的时间戳,但后来我发现如果我只使用div
可能会有问题,因为现在我的表有:
div
有没有办法在帐户ID和类别ID的上下文中将时间戳字段指定为唯一?同样,就帐户和类别而言,不应该为单个时间戳输入两个值。但是时间戳可能会在表格中多次出现,因为它与其他类别和/或帐户相对应。
答案 0 :(得分:0)
你可以创建一个触发器并检查你需要的任何约束:
@Override
public void onCreate(SQLiteDatabase database, ConnectionSource connectionSource) {
database.execSQL("CREATE TRIGGER UNIQUE_TIMESTAMP_TRIGGER " +
"AFTER INSERT ON MY_TABLE FOR EACH ROW " +
"BEGIN " +
" SELECT RAISE(ABORT, 'Timestamp not unique') WHERE " +
" EXISTS(SELECT TIMESTAMP MY_TABLE T2 " +
" WHERE T2.TIMESTAMP = NEW.TIMESTAMP AND T2.ACCOUNT_ID = NEW.ACCOUNT_ID) " +
"END; ");
}