And*_*ndy 5 sql database sqlite
我在两个独立的sqlite3数据库中有两个表.数据类型相同,但模式略有不同.我希望它们是单个数据库中的单个表,具有相同的模式Table 2
CREATE TABLE temp_entries (
id INTEGER PRIMARY KEY,
sensor NUMERIC,
temp NUMERIC,
date NUMERIC);
Run Code Online (Sandbox Code Playgroud)
CREATE TABLE "restInterface_temp_entry" (
"id" integer NOT NULL PRIMARY KEY,
"dateTime" integer NOT NULL,
"sensor" integer NOT NULL,
"temp" integer NOT NULL
);
Run Code Online (Sandbox Code Playgroud)
id两个表之间不是唯一的.我想创建另一个具有相同模式的表Table 2.我希望id表1中的条目从0开始,然后从table 2最后一个条目后的条目开始table 1.
理想情况下,我只想添加条目Table 1,Table 2并"重新索引"主键,使其与"dateTime"的升序相同.
更新:我现在有两个表使用相同的模式,我通过创建一个具有相同模式的新表来实现Table 2这一点Table 1.我将数据复制到新表中,例如:
INSERT INTO restInterface_temp_entry(id,dateTime,sensor,temp)
...> select id,date,sensor,temp FROM temp_entries;
Run Code Online (Sandbox Code Playgroud)
我曾经把一堆记录temp_entries到csv文件中.我想将数据放入一种更易于使用的格式并选择sqlite3.我编写了一个程序,将所有条目都删除并放入其中Table 1.我不确定我当时在做什么,并用于Table 2所有新条目.现在我想将它们全部组合起来,希望按升序保持id和日期.
弄清楚了。
附加到原始数据库
ATTACH '/orig/db/location' as orig
Run Code Online (Sandbox Code Playgroud)将记录从当前数据库移动到旧数据库,忽略 PK
insert into orig.restInterface_temp_entry(dateTime,sensor,temp)
...> select dateTime,sensor,temp from main.restInterface_temp_entry;
Run Code Online (Sandbox Code Playgroud)清除当前数据库表
delete from main.restInterface_temp_entry where id > 0
Run Code Online (Sandbox Code Playgroud)将所有更新记录从原始数据库表复制回当前表。
insert into main.restInterface_temp_entry(id,dateTime,sensor,temp)
...> select id,dateTime,sensor,temp
...> from orig.restInterface_temp_entry;
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
12020 次 |
| 最近记录: |