我有下表:
[id,lang,data]
其中主键是id
我想把主键改成id,lang
而不丢失表的内容。我必须运行什么查询才能更改它
谢谢
最佳答案
根据@GarnerJosh 的评论,您不能运行单个命令来更改它 - SQLite 不允许更改现有的表结构。相反,创建一个具有复合主键的新表并将数据复制过来:
CREATE TABLE my_table_copy(
id INTEGER,
lang INTEGER,
data TEXT,
PRIMARY KEY (id, lang)
);
INSERT INTO my_table_copy (id, lang, data)
SELECT id, lang, data FROM my_table;
DROP TABLE my_table;
ALTER TABLE my_table_copy RENAME TO my_table;
关于android - 在 SQLite 中更改表的主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16900552/