Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用Go/SQLX找到存在的结构属性_Go_Sqlx - Fatal编程技术网

无法使用Go/SQLX找到存在的结构属性

无法使用Go/SQLX找到存在的结构属性,go,sqlx,Go,Sqlx,我正在从文件上传中收集元数据,并将其插入到DB表中。结构如下所示: // file Metadata struct type MetaData struct { Owner string FileRows int64 FileSize string FileName string FileUuid string LastUpdated string } 下面是我如何填充对结构的引用: metaDataRow :

我正在从文件上传中收集元数据,并将其插入到DB表中。结构如下所示:

// file Metadata struct
type MetaData struct {
    Owner       string
    FileRows    int64
    FileSize    string
    FileName    string
    FileUuid    string
    LastUpdated string
}
下面是我如何填充对结构的引用:

metaDataRow := MetaData{
    Owner:       "Fake Name",
    FileRows:    (int64)(count - 1),
    FileSize:    fileSize,
    FileName:    fileName,
    FileUuid:    handle,
    LastUpdated: time.Now().Format(time.RFC822Z),
}
我的问题是,当我尝试将此struct ref插入数据库时,会收到一条错误消息:

在&processor.MetaData中找不到名称所有者{Owner:“假名称”,FileRows:1499,FileSize:“308.9 kB”,FileName:“small file.csv”,FileUuid:“1234567890qwerty”,最后更新:“30 Jan 20 21:13+0000”}

现在,我们可以清楚地看到,
Owner
存在于结构中,它和其他结构一样有一个值。我不确定查询分配是否在第一次查找时失败,是否出现了
panic
'd,但我无法通过这一点来查看其他查询分配是否也失败。这是我的
sqlx
NamedExec
,因为我的结构引用或绑定可能有问题

// execute transaction
_, err = tx.NamedExec(`
    INSERT INTO file_metadata (
        owner,
        file_rows,
        file_size,
        file_name,
        file_uuid,
        last_updated
    ) VALUES (
        :Owner,
        :FileRows,
        :FileSize,
        :FileName,
        :FileUuid,
        :LastUpdated
    )
`, &metaDataRow)

我希望这是一个简单的修复,边界输入错误。

您可以将
db标记添加到您的结构中:

 Owner string `db:"owner"`
然后在插页上:

...VALUES (:owner, ....

您是否尝试过定义
db选项卡
?类似这样的内容:
Owner字符串`db:'Owner`
然后插入:
…值(:Owner,.
哦,我的天啊,我很笨。谢谢,这就是我缺少的。很高兴能帮上忙,我会把它作为答案发布,你能标记一下吗