使用一个更新的字段将 SQLite 行复制到相同的 table?
Duplicating SQLite Rows into same table with one updated field?
所以我有一个包含联系人的数据库。每个联系人都有一个文件夹字段,我在应用程序中显示时用于对它们进行分类,我的 ID 是来自服务器和文件夹类型的唯一 ID 的组合。我想做的是获取我 table 中的每个联系人,并使用更新后的文件夹值 "all".
复制它们 1 次
所以如果我只有 2 个联系人,那么在 INSERT
之前看起来像这样
---------------------------------------------------
id | name | folder | area | number |
---------------------------------------------------
1abfav | John | fav | 111 | 1234567 |
2cdarchive | Susan | archive | 111 | 6785678 |
插入后我会
---------------------------------------------------
id | name | folder | area | number |
---------------------------------------------------
1abfav | John | fav | 111 | 1234567 |
2cdarchive | Susan | archive | 111 | 6785678 |
1aball | John | all | 111 | 1234567 |
2cdall | Susan | all | 111 | 6785678 |
与INSERT INTO ... SELECT
:
insert into contacts(id,name,folder,area,number)
select
substr(id, 1, length(id) - length(folder)) || 'all',
name,
'all',
area,
number
from contacts;
参见demo。
结果:
| id | name | folder | area | number |
| ---------- | ----- | ------- | ---- | ------- |
| 1abfav | John | fav | 111 | 1234567 |
| 2cdarchive | Susan | archive | 111 | 6785678 |
| 1aball | John | all | 111 | 1234567 |
| 2cdall | Susan | all | 111 | 6785678 |
所以我有一个包含联系人的数据库。每个联系人都有一个文件夹字段,我在应用程序中显示时用于对它们进行分类,我的 ID 是来自服务器和文件夹类型的唯一 ID 的组合。我想做的是获取我 table 中的每个联系人,并使用更新后的文件夹值 "all".
复制它们 1 次所以如果我只有 2 个联系人,那么在 INSERT
之前看起来像这样---------------------------------------------------
id | name | folder | area | number |
---------------------------------------------------
1abfav | John | fav | 111 | 1234567 |
2cdarchive | Susan | archive | 111 | 6785678 |
插入后我会
---------------------------------------------------
id | name | folder | area | number |
---------------------------------------------------
1abfav | John | fav | 111 | 1234567 |
2cdarchive | Susan | archive | 111 | 6785678 |
1aball | John | all | 111 | 1234567 |
2cdall | Susan | all | 111 | 6785678 |
与INSERT INTO ... SELECT
:
insert into contacts(id,name,folder,area,number)
select
substr(id, 1, length(id) - length(folder)) || 'all',
name,
'all',
area,
number
from contacts;
参见demo。
结果:
| id | name | folder | area | number |
| ---------- | ----- | ------- | ---- | ------- |
| 1abfav | John | fav | 111 | 1234567 |
| 2cdarchive | Susan | archive | 111 | 6785678 |
| 1aball | John | all | 111 | 1234567 |
| 2cdall | Susan | all | 111 | 6785678 |