将字节切片插入sqlite blob

时间:2017-06-09 21:54:40

标签: go sqlite

我尝试使用github.com/mattn/go-sqlite3将一片字节插入sqlite3数据库。

数据:

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的前四个字节。我想这可能与第五个位置的0字节有关。

如何插入整个[]字节?

1 个答案:

答案 0 :(得分:1)

我发现了问题。它坐在显示器前面。实际插入了数据。 Sqlite客户端将blob作为文本处理,并在“0”处终止打印。使用sqlitebrowser检查数据库显示完整的条目。