【问题标题】:sqlcipher attach databasesqlcipher 附加数据库
【发布时间】:2011-10-18 16:40:15
【问题描述】:

我正在关注 sqlcipher Api 文档中的示例:http://sqlcipher.net/sqlcipher-api#attach

ATTACH DATABASE 'encrypted.db' AS encrypted KEY 'secret'; -- create a new encrypted database
CREATE TABLE encrypted.t1(a,b); -- recreate the schema in the new database (you can inspect all objects using SELECT * FROM sqlite_master)
INSERT INTO encrypted.t1 SELECT * FROM t1; -- copy data from the existing tables to the new tables in the encrypted database
DETACH DATABASE encrypted;

第一行 CREATE TABLE encrypted.t1(a,b); 有 (a,b) 和第二行

INSERT INTO encrypted.t1 SELECT * FROM t1; 没有。

为什么第一行有an(a,b),它是干什么用的?

【问题讨论】:

  • 有人建议 a,b 是表格列。

标签: sqlcipher


【解决方案1】:

在这种情况下,a 和 b 是列名。文档中对该示例的介绍解释了重要的一点“假设您有一个名为 unencrypted.db 的标准 SQLite 数据库,其中包含一个表 t1(a,b)。”那么:

  1. 第一行附加了一个新的加密数据库。
  2. 接下来,在加密数据库中创建第二个具有相同名称和列规范的表。
  3. 第三行从原表中选出所有数据,插入到加密数据库的新表中。

因为两个表上的列是相同的,所以没有必要明确列出表列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-14
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 2022-10-13
    • 2018-08-15
    相关资源
    最近更新 更多