C# 在Unity中使用SQlite,考虑到两个表是相同的,将表从一个数据库复制到另一个数据库的SQlite命令是什么?

C# 在Unity中使用SQlite,考虑到两个表是相同的,将表从一个数据库复制到另一个数据库的SQlite命令是什么?,c#,unity3d,C#,Unity3d,它在第二个(destination).db数据库中正确地创建了Users表,但是它不使用原始.db数据库的Users表的数据填充它。这两张桌子是一样的。它们实际上都没有主键集。我需要将数据从原始表复制到目标表 我尝试了以下方法,但复制部分没有成功: public class DatabaseAccess { private static string _connDatabaseStringUsers = "URI=file:c:/TSV3/TS" + "DemoUsers" + ".db

它在第二个(destination).db数据库中正确地创建了Users表,但是它不使用原始.db数据库的Users表的数据填充它。这两张桌子是一样的。它们实际上都没有主键集。我需要将数据从原始表复制到目标表

我尝试了以下方法,但复制部分没有成功:

public class DatabaseAccess
{
    private static string _connDatabaseStringUsers = "URI=file:c:/TSV3/TS" + "DemoUsers" + ".db; Version=3; Journal Mode=Off; Synchronous=Off;";
}

使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
使用UnityEngine。联网;
使用UnityEngine.SceneManagement;
Net系统;
使用System.Net.Sockets;
使用系统文本;
使用System.Linq;
使用Mono.Data.Sqlite;
使用System.IO;
使用系统数据;
使用制度;
公共类游戏实例:Singleton{
专用SqliteConnection_conn4;
专用SqliteConnection_conn5;
公开作废开始()
{
CreateTable();
}
公共void CreateTable()
{
_conn4=新的SqliteConnection(DatabaseAccess.conndabaseStringUsers);
_conn4.Open();
尝试
{
SqliteCommand cmd4=新SqliteCommand(“创建表,如果不存在用户('ID'整数,'FileNumber'文本,'FamilyName'文本,'Name'文本,'ParentFolderID'整数,'AvatarSex'整数,'Role'整数)”,\u conn4);
cmd4.ExecuteOnQuery();
}
捕获(单位异常e)
{
LogError(e);
}
最后
{
_conn4.Close();
}
CopyTable();
}
公共void CopyTable()
{
_conn5=新的SqliteConnection(DatabaseAccess.conndabaseStringUsers);
_conn5.Open();
尝试
{
SqliteCommand cmd5=新的SqliteCommand(“从用户中选择*进入'TSDemo.db'中的用户”,_conn5);
cmd5.ExecuteOnQuery();
}
捕获(单位异常e)
{
LogError(e);
}
最后
{
_conn5.Close();
}
}
}

我希望来自第一个.db数据库的表用户的数据能够从第二个.db数据库复制到表用户,但事实并非如此。然而,团结不会给我带来任何错误。正在创建表,但未将数据填充到表中。

由于SQLite不支持
选择进入
,如果表不存在,您可以使用
创建表作为选择:

create table dest as select * from source
插入选择
,如果表格存在或您创建了它:

insert into dest select * from source

谢谢实际上,我是用另一种方法来做的,使用for循环读取第一个数据库中表的所有字段,然后将它们插入第二个数据库的表中,但是知道这一点很好。我不认为SQLite有这样的限制。谢谢你的澄清!
insert into dest select * from source