找不到使用 Go/SQLX 存在的结构 属性
Cannot find Struct property that exists using Go/SQLX
我正在从文件上传中收集元数据,并将其插入数据库 table。结构是这样的:
// 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),
}
我的问题是,当我尝试将此结构引用插入我的数据库时,我收到一条错误消息:
could not find name Owner in &processor.MetaData{Owner:"Fake Name", FileRows:1499, FileSize:"308.9 kB", FileName:"small-file.csv", FileUuid:"1234567890qwerty", LastUpdated:"30 Jan 20 21:13 +0000"}
现在,我们可以清楚地看到,Owner
存在于结构中并且它有一个值,其他结构也是如此。我不确定查询分配是否在第一次查找时失败并且 panic
'd 在那里,但我无法通过这个来查看其他人是否也失败了。这是我的 sqlx
NamedExec
因为我的 Struct 引用或绑定可能有问题?
// 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 tag
添加到您的结构中:
Owner string `db:"owner"`
然后插入:
...VALUES (:owner, ....
我正在从文件上传中收集元数据,并将其插入数据库 table。结构是这样的:
// 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),
}
我的问题是,当我尝试将此结构引用插入我的数据库时,我收到一条错误消息:
could not find name Owner in &processor.MetaData{Owner:"Fake Name", FileRows:1499, FileSize:"308.9 kB", FileName:"small-file.csv", FileUuid:"1234567890qwerty", LastUpdated:"30 Jan 20 21:13 +0000"}
现在,我们可以清楚地看到,Owner
存在于结构中并且它有一个值,其他结构也是如此。我不确定查询分配是否在第一次查找时失败并且 panic
'd 在那里,但我无法通过这个来查看其他人是否也失败了。这是我的 sqlx
NamedExec
因为我的 Struct 引用或绑定可能有问题?
// 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 tag
添加到您的结构中:
Owner string `db:"owner"`
然后插入:
...VALUES (:owner, ....