如何在sqlite中更改记录的主键?

the*_*cat 4 sqlite constraints primary-key

我的表具有TEXT主键

CREATE TABLE tbl1{
  a1 TEXT PRIMARY KEY,
  ...
);
Run Code Online (Sandbox Code Playgroud)

(该a1列是另一个表中的外键)

如何更改值a1

如果我做

更新tbl1 SET a1 =?哪里a1 =?

我收到约束违规错误

CL.*_*CL. 5

您永远不要更改主键;最好使用INTEGER PRIMARY KEY并将实际URL作为普通数据列。

如果您确实要更改作为外键目标的键,则应将外键约束声明为递延,以便能够在同一事务中调整外键值。