我在 Android 应用程序中使用 SQLite 数据库,我想知道如何向已创建的表添加唯一列。我的意思是现有表唯一性由 2 个值确定,我想编辑表唯一性由 3 个值确定(存在 2 个值和另外 1 个值)。
是否可以?
writable_schema技巧不适用于 UNIQUE,因为需要更改内部索引。
进行此更改的唯一方法是使用表的临时副本:
CREATE TABLE NewTable(
[...],
UNIQUE(Col1, Col2, Col3)
);
INSERT INTO NewTable SELECT * FROM MyTable;
DROP TABLE MyTable;
ALTER TABLE NewTable RENAME TO MyTable;
Run Code Online (Sandbox Code Playgroud)
(这应该包含在事务中;Android 会onUpdate自动执行此操作。)
| 归档时间: |
|
| 查看次数: |
1521 次 |
| 最近记录: |