私はこのSQLiteテーブルを持っています:
create table mytable (
aid INTEGER NOT NULL PRIMARY KEY,
bid INTEGER NOT NULL,
image BLOB
);
image
そして、このテーブルのフィールドにバイナリファイルを挿入したいと思います。sqlite3
コマンドラインインターフェイスからそれを行うことは可能ですか?もしそうなら、どのように?私はUbuntuを使用しています。
ありがとうございました!
私はこのSQLiteテーブルを持っています:
create table mytable (
aid INTEGER NOT NULL PRIMARY KEY,
bid INTEGER NOT NULL,
image BLOB
);
image
そして、このテーブルのフィールドにバイナリファイルを挿入したいと思います。sqlite3
コマンドラインインターフェイスからそれを行うことは可能ですか?もしそうなら、どのように?私はUbuntuを使用しています。
ありがとうございました!
sqlite3コマンド ライン インターフェイスは、次の 2 つの「アプリケーション定義」関数を追加します。
readfile
INSERT INTO table(blob) VALUES (readfile('myimage.jpg'))
writefile
次のような構文を使用できます。
echo "insert into mytable values(1,1, \"`cat image`\")" | sqlite3 yourDb
blob の値を囲む " についてはわかりません。cat コマンドをバッククォートで囲んでいることに注意してください。これは、エコーの前に cat コマンドが実行されることを意味します。
[編集]
Blob は、"X" プレフィックス付きの 16 進数として格納されます。「hexdump」UNIX コマンドを使用して 16 進文字列を生成できますが、イメージを読み取って挿入するコマンド ライン ツールを作成する方がよいでしょう。この投稿の詳細: http://comments.gmane.org/gmane.comp.db.sqlite.general/64149