亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Unity 中使用 SQlite,考慮到兩個表是相同的,將一個表從一個數據庫復制到另一個數據庫的

在 Unity 中使用 SQlite,考慮到兩個表是相同的,將一個表從一個數據庫復制到另一個數據庫的

C#
泛舟湖上清波郎朗 2022-12-04 10:33:29
它在第二個(目標).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;";}using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.Networking;using UnityEngine.SceneManagement;using System.Net;using System.Net.Sockets;using System.Text;using System.Linq;using Mono.Data.Sqlite;using System.IO;using System.Data;using System;public class GameInstance : Singleton<GameInstance> {private SqliteConnection _conn4;private SqliteConnection _conn5;public void Start(){     CreateTable();}public void CreateTable(){     _conn4 = new SqliteConnection(DatabaseAccess.ConnDatabaseStringUsers);     _conn4.Open();     try     {          SqliteCommand cmd4 = new SqliteCommand("CREATE TABLE IF NOT EXISTS Users ('ID' INTEGER, 'FileNumber' TEXT, 'FamilyName' TEXT, 'Name' TEXT, 'ParentFolderID' INTEGER, 'AvatarSex' INTEGER, 'Role' INTEGER)", _conn4);          cmd4.ExecuteNonQuery();     }     catch (UnityException e)     {       Debug.LogError(e);     }     finally     {       _conn4.Close();     }     CopyTable();}public void CopyTable(){     _conn5 = new SqliteConnection(DatabaseAccess.ConnDatabaseStringUsers);     _conn5.Open();     try     {          SqliteCommand cmd5 = new SqliteCommand("SELECT * INTO Users IN 'TSDemo.db' FROM Users", _conn5);          cmd5.ExecuteNonQuery();     }     catch (UnityException e)     {          Debug.LogError(e);     }     finally     {          _conn5.Close();     }   } }我希望將第一個 .db 數據庫的用戶表中的數據復制到第二個 .db 數據庫的用戶表中,但事實并非如此。但是,Unity 不會給我任何錯誤。正在創建表,但未向其中填充數據。
查看完整描述

1 回答

?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

由于 SQLite 不支持,如果表不存在select into,您可以使用:create table as select

create table dest as select * from source

或者insert into select如果表存在或您創建它:

insert into dest select * from source


查看完整回答
反對 回復 2022-12-04
  • 1 回答
  • 0 關注
  • 105 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號