【问题标题】:sqlite data from one db to anothersqlite 数据从一个数据库到另一个数据库
【发布时间】:2012-06-10 12:24:12
【问题描述】:

我有 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;

现在,我不确定的部分:

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

如果你看看我上面写的,你可以知道我想要完成什么,但这是不正确的。如果我能在这件事上得到任何帮助,我将不胜感激!!

【问题讨论】:

    标签: sql database sqlite


    【解决方案1】:

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

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

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

    这个 SQL 应该会更好:

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

    【讨论】:

    • 巧妙!我是 SQL 新手。非常感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 2012-04-19
    • 1970-01-01
    相关资源
    最近更新 更多