2017-06-09 15 views
0

github.com/mattn/go-sqlite3を使用して、sqlite3データベースにバイトスライスを挿入しようとしています。バイトスライスをsqliteブロブに挿入

データ:

thmbnail := [255 216 255 219 0 132 ...] 

文を作成します。

sqlStmt := ` 
create table result (id INTEGER NOT NULL PRIMARY KEY, fname TEXT, path TEXT, 
size INTEGER, fMDate TEXT, fUUID TEXT, fSHA1 TEXT, fPRONOM TEXT, fNSRL INTEGER, fTHMB BLOB); 
pragma journal_mode=WAL; 
delete from result; 
` 

インサート:

func addEntryDB(stmt *sql.Stmt, entry fileMD) { 

    _, err := stmt.Exec(nil, entry.fName, entry.fPath, entry.fSize, entry.fMDate, 
    entry.fUUID, entry.fSHA1, entry.fPRONOM, entry.fNSRL, entry.fTHMB) 
    if err != nil { 
     log.Fatal(err) 
    } 
} 

問題:のみthmbnailの最初の4つのバイトが挿入されています。私はこれが第5位の0バイトに関連していると思います。

[]バイト全体はどのように挿入できますか?

+0

これは関連している可能性があります。しかし、バグを修正する必要がありますhttps://stackoverflow.com/questions/29452538/convert-blob-to-image-in-go – Steffen

答えて

0

問題が見つかりました。それはモニターの前に座っていた。データは実際に挿入された。 Sqliteクライアントはblobをテキストとして扱い、 "0"で印刷を終了します。 sqlitebrowserを使用してデータベースを調べると、完全なエントリが表示されました。

関連する問題