爲這個主題的多個問題道歉。我正在嘗試更新基於表中其他列的列,到目前爲止似乎沒有任何工作。我嘗試updateWhere然後rawSQL更新(Ambiguous Type Error When Using RawSql Update),但都有問題。避免在RawSQL中自動擴展列
updateWhere不允許其他列名稱(僅值),以便排除。
我試着用更新的rawSQL,但它會自動擴展打破更新的所有實體名稱。如果有辦法阻止它擴展列名(沒有把??不能解決這個問題),那將是完美的。例如,如果我這樣做:Update table SET X = Y - ? [input values]
,它創建UPDATE table.f1, table.f2, etc. SET X = Y - ? [input values]
這是我想作爲管理員在後臺運行的查詢之一,所以我不在乎類型安全。如果有一種盲目執行SQL字符串的方法,那也可以。
我想要做的是:SET X =(Y - 常數)。任何建議將不勝感激。
謝謝你!
謝謝!它在rawExecute下正常工作,我在通話結束時刪除了類型簽名。我可以用一個全新的Yesod項目重現這個問題,所以我會報告它。 – Ecognium
這裏報告了這個問題:https://github.com/yesodweb/yesod/issues/582 – Ecognium