Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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 尝试从一个表到另一个表进行简单的sql插入,但不熟悉术语?

Sqlite 尝试从一个表到另一个表进行简单的sql插入,但不熟悉术语?,sqlite,Sqlite,我花了一上午的时间从头开始学习SQL,但我正在努力尝试做这件简单的事情,我甚至不知道该怎么称呼它(某种插入连接?) 我有两张像这样的桌子 Table: ImageIDLookup Table: ImagesTable ID | ImageID Id | Path 21 | 147 147 | fu 42 | 268 268

我花了一上午的时间从头开始学习SQL,但我正在努力尝试做这件简单的事情,我甚至不知道该怎么称呼它(某种插入连接?)

我有两张像这样的桌子

Table: ImageIDLookup           Table: ImagesTable

   ID | ImageID                    Id   | Path
   21 |   147                     147   |  fu
   42 |   268                     268   |  bar
   53 |   547                     547   |  bla
     etc...                           etc...
我所要做的就是使用名为“ImageID”和“Id”的两个表中的列将ImagesTable表中的“Path”列插入ImageIDLookup表中,这两个表中都有匹配的行

因此,ImageIDLookup表将变成

Table: ImageIDLookup     

   ID | ImageID | Path
   21 |   147   |  fu
   42 |   268   |  bar
   53 |   547   |  bla
         etc...  

我意识到这是基本的,但我发现研究简单的概念很困难,因为我没有它们的名字

首先将新列添加到
ImageIDLookup

ALTER TABLE ImageIDLookup ADD COLUMN Path TEXT;
UPDATE ImageIDLookup
SET Path =
    (SELECT Path FROM ImagesTable
     WHERE ImagesTable.Id = ImageIDLookup.ImageID);
其次,将路径值从
ImagesTable
添加到
ImageIDLookup

ALTER TABLE ImageIDLookup ADD COLUMN Path TEXT;
UPDATE ImageIDLookup
SET Path =
    (SELECT Path FROM ImagesTable
     WHERE ImagesTable.Id = ImageIDLookup.ImageID);
在MySQL上,您还可以执行以下第二步:

UPDATE ImageIDLookup
INNER JOIN ImagesTable ON ImageIDLookup.ImageID = ImagesTable.Id
SET ImageIDLookup.Path = ImagesTable.Path;

你没有试图插入任何内容。您正在更改一个表以添加一列,然后更新该表中的记录以将值放入该列。更改了该表,但更新代码抛出了一个“内部附近的语法错误”。我仔细检查了你所有的拼写,唯一的错误是.ImageId应该是.ImageId。我哪里都不需要引号,是吗?对不起,我的意思是我修正了你的打字错误,但我仍然得到一个“内部语法错误”。还有什么问题吗?您使用的是哪种数据库?至少它可以在mysql中工作:哦,我正在使用SQLite。对不起,这对所有这些有影响吗?我正在使用SQLite管理器,它可以生成一些更新样板文件,它使用方括号,就像这样。。。更新tableName集分配[,分配]*[其中expr]