2011-10-18 10 views
1

を取り付けるsqlcipher:http://sqlcipher.net/sqlcipher-api#attach私はsqlcipher APIドキュメントで例えば以下いデータベース

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;ありません。

なぜ最初の行に(a、b)があり、それは何ですか?

+0

誰かが、a、bがテーブルの列であることを示唆しました。 – Gandalf

答えて

2

この場合、aとbは列名です。この文書の例を紹介すると、重要なポイント「単一のテーブルt1(a、b)を持つunencrypted.dbという標準のSQLiteデータベースがあると仮定します。次に:

  1. 最初の行に新しい暗号化データベースが追加されます。
  2. 次に、同じ名前と列の指定で、暗号化されたデータベースに2番目のテーブルが作成されます。
  3. 3行目は元のテーブルからすべてのデータを選択し、暗号化されたデータベースの新しいテーブルに挿入します。

2つのテーブルのカラムが同一であるため、テーブルカラムを明示的にリストする必要はありません。

関連する問題