gpt4 book ai didi

swift - Sqlite.Swift 不明确的列名称 Swift

转载 作者:可可西里 更新时间:2023-11-01 01:18:45 31 4
gpt4 key购买 nike

我的代码如下:

let assetTag = Expression<String>("asset_tag")


let query2 = mdm.select(mdm[assetTag],os, mac, lastReported)
.filter(mdm[assetTag] != "ipad" && location == facility)
.order(mdm[assetTag])
.join(mdm, on: ewp[assetTag] == mdm[assetTag])



let results2 = try! db.prepare(query2)

我收到错误提示:

fatal error: 'try!' expression unexpectedly raised an error: ambiguous column name: mdm.asset_tag (code: 1): file /Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-802.0.53/src/swift/stdlib/public/core/ErrorType.swift, line 182

我的数据库有两张表,一张叫做 eWP,一张叫做 MDM。两者都有一个名为 asset_tag 的列,所以我想通过执行 mdm[assetTag] 来选择正确的列,但它仍然会抛出错误。

编辑

仍然无法解决问题。我按如下方式创建表格:

let db = try Connection("\(path)/db.sqlite3")

try db.run(ewp.create { t in
t.column(assetTag)
t.column(location)
t.column(deviceStatus)

})

try db.run(mdm.create { t in
t.column(assetTag)
t.column(os)
t.column(mac)
t.column(lastReported)

})

}

出于某种原因,mdm[assetTag] 仍然说该列不明确,但只有 1 个这样的列。

最佳答案

找到了答案。我自己加入了 mdm 表。我需要将连接更改为:

.join(ewp, on: ewp[assetTag] == mdm[assetTag])

关于swift - Sqlite.Swift 不明确的列名称 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44953604/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com