将sqlite中不同表的数据从一列复制到另一列

发布于 2024-10-28 21:19:56 字数 160 浏览 1 评论 0原文

我想将表2中的B列数据复制到表1中的A列。 A 列的行为空,并且 Table1 中存在已填充数据的其他列。因此,我需要从 Table2 中获取整个 B 列,并将所有这些值插入到 Table1 的 A 列中。这两个表完全相同,只是 A 列根本没有值。

我如何在 sqlite3 中执行此操作?

I want to copy data to column A in Table1 from column B in Table2. Rows for column A are empty and there are exists other columns in Table1 with already populated data. So I need to grab the whole column B from Table2 and insert all those values in column A in Table1. The two table are completely identical, except that column A has no values at all.

How do I do this in sqlite3?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

半寸时光 2024-11-04 21:19:56

使用:

INSERT INTO TABLE1
SELECT B,
       NULL,
       NULL,
       NULL
  FROM TABLE2

使用 NULL 作为无法从 TABLE2 填充的许多列的占位符,假设 TABLE1 列允许 NULL 值。

Use:

INSERT INTO TABLE1
SELECT B,
       NULL,
       NULL,
       NULL
  FROM TABLE2

Use NULL as the placeholder for however many columns you can't populate from TABLE2, assuming TABLE1 columns allow NULL values.

椵侞 2024-11-04 21:19:56
UPDATE TABLE1 SET A = (SELECT B FROM TABLE2 WHERE ...)

想想看,如果这些表确实相同,为什么需要两个呢?无论如何,你也可以这样做:

BEGIN;
DELETE FROM TABLE1;
INSERT INTO TABLE1 (A, col1, col2, ...) SELECT (B, col2, col2, ...) FROM TABLE2;
COMMIT;
UPDATE TABLE1 SET A = (SELECT B FROM TABLE2 WHERE ...)

Come to think of it, if the tables are truly identical, why do you need two of them? In any case you can also do this:

BEGIN;
DELETE FROM TABLE1;
INSERT INTO TABLE1 (A, col1, col2, ...) SELECT (B, col2, col2, ...) FROM TABLE2;
COMMIT;
泛泛之交 2024-11-04 21:19:56

试试这个:
插入表 1 (A) 从表 2 中选择 B

Try this:
INSERT INTO TABLE1 (A) SELECT B FROM TABLE2

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文