我尝试使用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字节有关。
如何插入整个[]字节?
答案 0 :(得分:1)
我发现了问题。它坐在显示器前面。实际插入了数据。 Sqlite客户端将blob作为文本处理,并在“0”处终止打印。使用sqlitebrowser检查数据库显示完整的条目。