我想问一下如何在SQL中实现这样的事情
String updateUserDocs1 = "UPDATE USERDOCS SET VIEW_DOCS = VIEW_DOCS + ' ' + ? WHERE USER_ID = ?";
它返回java sql语法错误。在第1行遇到:“ WHERE”
该陈述在语法上似乎是正确的。可能是什么问题呢?
许多SQL方言都支持+
字符串串联运算符的重载,但ANSI SQL标准字符串串联运算符为||
。
使用Derby,代码
sql = "UPDATE USERDOCS SET VIEW_DOCS = VIEW_DOCS + ' ' + ? WHERE USER_ID = ?";
PreparedStatement ps = conn.prepareStatement(sql);
导致以下错误
java.sql.SQLSyntaxErrorException:不支持左侧操作数类型为'VARCHAR'且右侧操作数类型为'CHAR'的'+'运算符。
然而,
sql = "UPDATE USERDOCS SET VIEW_DOCS = VIEW_DOCS || ' ' || ? WHERE USER_ID = ?";
PreparedStatement ps = conn.prepareStatement(sql);
正常工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句