【问题标题】:Insert byte slice into sqlite blob将字节切片插入 sqlite blob
【发布时间】:2017-06-11 05:02:57
【问题描述】:

我尝试使用 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 字节有关。

如何插入整个[]字节?

【问题讨论】:

标签: go sqlite


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-05-24
    • 2013-03-21
    • 1970-01-01
    • 1970-01-01
    • 2017-05-06
    • 1970-01-01
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多