并非非支持值>0 才触发:在鸿蒙开发的 relationalStore 数据库中,UNIQUE 约束只要定义了,无论相关支持值为何,当插入或更新操作违反唯一性规则时就会触发。触发机制原理:数据库引擎会在执行插入或更新操作时,依据 UNIQUE 约束检查相应列的值。若新值与已有值重复,就会触发约束,这与支持值大小无关。关键 API 体现:在使用 relationalStore.executeSql 执行 SQL 语句创建表时定义 UNIQUE 约束,如 CREATE TABLE myTable (id INTEGER PRIMARY KEY, name TEXT UNIQUE),后续操作触发约束时会抛出异常。支持值含义不同:支持值通常与约束检查的时机或方式等其他特性相关,并非决定 UNIQUE 约束是否触发的条件,触发主要取决于数据的唯一性是否被破坏。
relationalStore.executeSql执行 SQL 语句创建表时定义 UNIQUE 约束,如CREATE TABLE myTable (id INTEGER PRIMARY KEY, name TEXT UNIQUE),后续操作触发约束时会抛出异常。