使用子句 IN 更新记录
Update record with clause IN
我正在使用 Grails 4.0.12,我正在尝试使用 IN 子句进行更新,这是我的简单代码:
def rowId="100,101"
Image.executeUpdate("update Image set status='DELETED' where status='NEW' and id in (:ids)", [ids: rowId])
如果我像这样构建查询字符串,一切正常:
Image.executeUpdate("update Image set status='DELETED' where status='NEW' and id in ("+ids+")")
虽然在第一个示例中我遇到了这个错误:
java.lang.String 无法转换为 java.lang.Long
如果我只传递一个没有 IN 子句的 Id,这似乎是合理的。
尝试按以下方式更正您的第一个示例:
def rowIds = [100, 101]
Image.executeUpdate("update Image set status='DELETED' where status='NEW' and id in (:ids)", [ids: rowIds])
我正在使用 Grails 4.0.12,我正在尝试使用 IN 子句进行更新,这是我的简单代码:
def rowId="100,101"
Image.executeUpdate("update Image set status='DELETED' where status='NEW' and id in (:ids)", [ids: rowId])
如果我像这样构建查询字符串,一切正常:
Image.executeUpdate("update Image set status='DELETED' where status='NEW' and id in ("+ids+")")
虽然在第一个示例中我遇到了这个错误:
java.lang.String 无法转换为 java.lang.Long
如果我只传递一个没有 IN 子句的 Id,这似乎是合理的。
尝试按以下方式更正您的第一个示例:
def rowIds = [100, 101]
Image.executeUpdate("update Image set status='DELETED' where status='NEW' and id in (:ids)", [ids: rowIds])