首页 > 解决方案 > 更改表后将新列的默认值设置为现有列的值

问题描述

我有一个名为“用户”的表。

身份证   名称 
1 个插孔
2丽莎

我想添加一个新列并将其默认值设置为“id”列的值。

ALTER TABLE users ADD COLUMN user_index INTEGER NOT NULL DEFAULT id;

因为 DEFAULT 关键字只接受常量值,所以上面的代码不起作用。
那么,如何将新列的默认值设置为“id”列的值?

标签: androidsqliteandroid-studioandroid-sqlitealter-table

解决方案


这不能只用ALTER语句来完成。我建议在事务中执行更改和副本,其中副本看起来像:

UPDATE tableName SET user_index = id;

推荐阅读