Android 将唯一列添加到已存在的sqlite表中
我在Android应用程序中使用SQLite数据库,我想知道如何向已经创建的表中添加唯一的列。 我的意思是,exist表的唯一性由2个值决定,我想编辑表的唯一性,由3个值决定,2个exist和1个以上 可能吗?由于需要更改内部索引,因此不适用于UNIQUE 进行此更改的唯一方法是使用表的临时副本:Android 将唯一列添加到已存在的sqlite表中,android,sqlite,Android,Sqlite,我在Android应用程序中使用SQLite数据库,我想知道如何向已经创建的表中添加唯一的列。 我的意思是,exist表的唯一性由2个值决定,我想编辑表的唯一性,由3个值决定,2个exist和1个以上 可能吗?由于需要更改内部索引,因此不适用于UNIQUE 进行此更改的唯一方法是使用表的临时副本: CREATE TABLE NewTable( [...], UNIQUE(Col1, Col2, Col3) ); INSERT INTO NewTable SELECT * FROM
CREATE TABLE NewTable(
[...],
UNIQUE(Col1, Col2, Col3)
);
INSERT INTO NewTable SELECT * FROM MyTable;
DROP TABLE MyTable;
ALTER TABLE NewTable RENAME TO MyTable;
这应该包装在事务中;Android的onUpdate会自动完成这项工作