我有2个sqlite数据库,我正在尝试将数据从一个数据库插入另一个数据库.例如,"db-1.sqlite"有一个表'1table',有2列('name','state').此外,"db-2.sqlite"有一个表'2table',有2列('name','url').两个表都包含一个"名称"值列表,这些值通常彼此相同但随机化,因此每行的ID不匹配.
我想将'url'列的值插入到db-1的表中,但我想确保每个url值都转到其对应的'name'值.
到目前为止,我已经这样做了:
> sqlite3 db-1.sqlite
sqlite> alter table 1table add column url;
sqlite> attach database 'db-2.sqlite' as db2;
Run Code Online (Sandbox Code Playgroud)
现在,我不确定的部分:
sqlite> insert into 1table(url) select db2.2table.url from db2.2table where 1table.name==db2.2table.name
Run Code Online (Sandbox Code Playgroud)
如果你看看我上面写的内容,你可以告诉我我想要完成什么,但这是不正确的.如果我能就此事得到任何帮助,我将非常感激!
小智 5
SQL中的等式比较运算符=不是==.
另外,我怀疑你应该更新1table,而不是插入它.
最后,您的表名以数字开头,因此您需要转义它们.
这个SQL应该更好用:
update `1table`
set url = (select db2.`2table`.url
from db2.`2table`
where `1table`.name = db2.`2table`.name);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2526 次 |
| 最近记录: |