在sqlite3中合并两个表

2024-01-12

我在两个独立的 sqlite3 数据库中有两个表。数据类型相同,但架构略有不同。我希望它们成为单个数据库中的单个表,具有相同的架构Table 2

Table 1

CREATE TABLE temp_entries (
    id INTEGER PRIMARY KEY, 
    sensor NUMERIC, 
    temp NUMERIC, 
    date NUMERIC);

Table 2

CREATE TABLE "restInterface_temp_entry" (
    "id" integer NOT NULL PRIMARY KEY,
    "dateTime" integer NOT NULL,
    "sensor" integer NOT NULL,
    "temp" integer NOT NULL
);

id两个表之间并不唯一。我想创建另一个具有相同架构的表Table 2。我想要id表 1 中的条目从 0 开始,然后是table 2在最后一个条目之后开始table 1.

理想情况下,我只想添加以下条目Table 1 to Table 2并“重新索引”主键,使其与“dateTime”的升序相同。

UPDATE:我现在有两个表使用相同的架构,我通过创建一个具有相同架构的新表来做到这一点Table 2进入保存的数据库Table 1。然后我将数据复制到新表中,如下所示:

INSERT INTO restInterface_temp_entry(id,dateTime,sensor,temp)
   ...> select id,date,sensor,temp FROM temp_entries;

背景

我曾经记录过一堆temp_entries到 csv 文件。我想将数据转换成更易于使用的格式,并选择了 sqlite3。我编写了一个程序,将所有条目取出并放入Table 1。我当时不确定自己在做什么,并使用Table 2对于所有新条目。现在我想将它们全部组合起来,希望保持 id 和日期按升序排列。


弄清楚了。

  • 打开当前数据库。
  • 附加到原始数据库

    ATTACH '/orig/db/location' as orig
    
  • 将记录从当前数据库移动到旧数据库,忽略 PK

    insert into orig.restInterface_temp_entry(dateTime,sensor,temp)
    ...> select dateTime,sensor,temp from main.restInterface_temp_entry;
    
  • 清除当前数据库表

    delete from main.restInterface_temp_entry where id > 0
    
  • 将所有更新记录从原始数据库表复制回当前表。

    insert into main.restInterface_temp_entry(id,dateTime,sensor,temp)
    ...> select id,dateTime,sensor,temp
    ...> from orig.restInterface_temp_entry;
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在sqlite3中合并两个表 的相关文章

  • php简单登录脚本白页

    你好 我正在尝试将 PDO 植入我的登录脚本中 以使其更安全地免受 sql 注入的影响 但我得到一个白页 我认为这是因为我试图计算行数以查看用户是否是真实的 Here we inculde the function page include
  • 安装 sqlite3 公共密钥环时出错,未找到

    怎么了 我该如何安装它 PS C Users luism gt gem install sqlite3 暂时增强 MSYS MINGW 的 PATH 安装所需的 msys2 软件包 mingw w64 x86 64 sqlite3 警告 未
  • Laravel 插入三向数据透视表

    Summary 我正在构建音乐发现服务 我的问题是 如何将数据插入三向数据透视表 标签 跟踪 用户 Schema 我看到了这个架构在 LaravelSD http www laravelsd com share WNmzz8 它由六个主表
  • 将 nvarchar 值转换为数据类型 int 时转换失败

    我创建了下面列出的过程 CREATE procedure getdata ID int frm varchar 250 to varchar 250 AS BEGIN DECLARE SQL nvarchar 500 set SQL sel
  • SQL 表别名 - 好还是坏? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在 SQL 中使用表别名有哪些优点和缺点 我个人会尽量避免使用它们 因为我认为它们会使代码的可读性降低 特别是在阅读大型 where and 语
  • 如何使用 LINQ 在多个 OR 内创建 SQL 嵌套 AND

    我正在尝试从以下 SQL 示例创建等效的 LINQ 查询 SELECT FROM FOO WHERE a
  • 对不同记录进行 PIVOT 查询

    我有下表 Id Code percentage name name1 activity 1 Prashant 43 43 James James Running 1 Prashant 70 43 Sam Sam Cooking 1 Pras
  • 从sql server 2005中的列中获取查询的xml节点

    我有一个包含 2 列的表 第一个是带有主键的整数列 第二个是带有数据的 xml 列 数据列包含xml如下
  • 检查 MySQL 和 PHP 中是否都存在 ids 列表

    最有效的方法是什么MySQL and PHP检查 id 列表是否全部存在 我希望函数返回结果是true if allid 存在 否则false 我刚在想 ids array 2233 5545 9478 5343 3545 do all g
  • 如何编写一个简单的版本控制系统?

    我想做一个简单的版本控制系统 但我不知道如何构建我的数据和代码 这是一个简短的例子 用户登录 User has two options when uploading a file 提交新文件 提交文件的新版本 用户应该能够看到树 版本不同
  • 存储过程 EXEC 与 sp_executesql 的区别?

    我写了两个存储过程 其中一个是sp executesql而其他没有 sp executesql 两者都正确执行相同的结果 我不明白两者之间有什么区别 EXEC SQL 与 EXEC sp executesql SQL N eStatus v
  • 有效存储和查询 GPS 坐标

    我想创建一个大型 GPS 坐标数据库 可以通过 返回 此坐标 n 米范围内的所有坐标 来查询该数据库 我需要它尽可能高效 因此循环遍历数据库中的所有坐标并计算坐标是否在 n 米内并不是理想的解决方案 有更简单的解决方案吗 Thanks 我通
  • 与 Postgres 的 TCP 连接安全吗?需要 SSL 吗?

    早上好 我正在浏览 Postgresql 配置文件 最近注意到有一个ssl选项 我想知道什么时候需要这样做 假设您有一个应用程序服务器和一个数据库服务器 不在专用网络内运行 如果用户尝试登录 如果未启用 SSL 应用程序服务器在查找用户密码
  • 在数据库中有效存储商品位置(用于订购)

    设想 有一个用户拥有的电影数据库 电影显示在一个名为 我的电影 的页面上 电影可以按照用户想要的顺序显示 例如 位置 1 为 搏击俱乐部 位置 3 为 Drive 依此类推 显而易见的解决方案是存储每个项目的位置 例如 电影 ID 用户 I
  • 如何从 tarantool 中选择有限数量的记录,就像 SQL 中的 SELECT LIMIT 一样?

    我想在 Tarantool 空间上执行选择 使用过滤和限制结果 就像我可以使用简单的 SQL 查询一样 SELECT FROM users WHERE age gt 33 LIMIT 1 我怎样才能做到这一点 可以使用 Lua 和 SQL
  • 在 SQL 中查询行序列

    假设我正在存储events有关联users如下表 其中dt代表事件的时间戳 dt user event 1 1 A 2 1 D 3 1 B 4 1 C 5 1 B 6 2 B 7 2 B 8 2 A 9 2 A 10 2 C 这样我们就可以
  • 浏览器关闭后从数据库中删除

    我正在开发一个电子商务应用程序 但问题是 当用户将产品添加到购物车并在订购前关闭浏览器时 购物车会带走所有产品 所有购物车项目都保存在表中 如果用户关闭浏览器而不订购 我只想刷新购物车 您可以使用 Javascript 事件捕获浏览器关闭并
  • 排除任何字段中具有 NULL 值的行结果?

    我有一个像这样的简单选择 SELECT FROM table WHERE fk id 10020 它可以工作 但有一些字段为 NULL 没有模式所以做了 SELECT FROM table WHERE fk id 10020 AND NOT
  • PDO 和 Microsoft SQL:必须声明表变量“@P1”

    我正在尝试使用 PDO 中的绑定从 Microsoft SQL 数据库中选择一些条目 我正在使用的代码看起来与我在文档中找到的代码类似 但是 当我运行它时 我收到以下警告 警告 PDOStatement execute pdostateme
  • 将表与同一个表的前一条记录连接起来

    我有一个包含历史记录的表 由主表中的多个触发器发布到那里 我想在历史表上创建一个 select 语句 其中每个记录都由其先前的记录 由相同的 LineID 和最高的 ActionDate 标识 连接 这样我就可以提取这两者之间的差异 我尝试

随机推荐