从一个数据库到另一个数据库的sqlite数据

标签 sql database sqlite

我有 2 个 sqlite 数据库,我正在尝试将数据从一个数据库插入到另一个数据库。例如,“db-1.sqlite”有一个包含 2 列(“名称”、“状态”)的表“1table”。此外,“db-2.sqlite”有一个包含 2 列(“name”、“url”)的表“2table”。两个表都包含一个“名称”值的列表,这些值大多彼此通用但随机化,因此每行的 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;

现在,我不确定的部分:

sqlite> insert into 1table(url) select db2.2table.url from db2.2table where 1table.name==db2.2table.name

如果您看一下我上面写的内容,您就会知道我想要完成什么,但这是不正确的。如果我能在这件事上得到任何帮助,我将不胜感激!!

最佳答案

SQL中的相等比较运算符是=,不是==

此外,我怀疑您应该更新 1table,而不是在其中插入。

最后,您的表名以数字开头,因此您需要对它们进行转义。

这个 SQL 应该工作得更好:

update `1table` 
set url = (select db2.`2table`.url 
           from db2.`2table` 
           where `1table`.name = db2.`2table`.name);

关于从一个数据库到另一个数据库的sqlite数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10968670/

相关文章:

php - 使用 mysql 和 PHP 从本地主机连接到远程数据库

C++ SQLite3 如何知道选择是否返回 0 行

Bash 脚本 SQLITE - 选项太多

mysql - 如何计算mysql触发器内的两个变量?

mysql - 选择所有匹配的行但只显示最新的

Python Pony ORM 一次插入多个值

java - NULL值将文件加载到mysql表中

c++ - 如何在qt中修复 "No query Unable to fetch row"

sql - 为数据中的不同列选择数据和列的总和

MySQL 截断不正确的 DOUBLE 值错误