Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从sqlite中的不同表将数据从一列复制到另一列_Sql_Sqlite - Fatal编程技术网

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

从sqlite中的不同表将数据从一列复制到另一列,sql,sqlite,Sql,Sqlite,我想将数据从表2中的B列复制到表1中的A列。列A的行为空,表1中存在其他列,其中包含已填充的数据。所以我需要从表2中抓取整个B列,并在表1的A列中插入所有这些值。这两个表完全相同,只是A列没有任何值 在sqlite3中如何实现这一点 使用: INSERT INTO TABLE1 SELECT B, NULL, NULL, NULL FROM TABLE2 假设TABLE1列允许空值,则无论有多少列无法从TABLE2填充,都可以使用NULL作为占位符

我想将数据从表2中的B列复制到表1中的A列。列A的行为空,表1中存在其他列,其中包含已填充的数据。所以我需要从表2中抓取整个B列,并在表1的A列中插入所有这些值。这两个表完全相同,只是A列没有任何值

在sqlite3中如何实现这一点

使用:

INSERT INTO TABLE1
SELECT B,
       NULL,
       NULL,
       NULL
  FROM TABLE2
假设TABLE1列允许空值,则无论有多少列无法从TABLE2填充,都可以使用NULL作为占位符

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;
试试这个:
插入表1(A)从表2中选择B这也不起作用…它在表1的每一行中插入相同的值(表2中第一行的值)。对于每一行,表2中都有一个不同的值,需要映射到表1中的a列。那么我该怎么做呢?您需要一个where子句来匹配行;见上面修改的答案