ama*_*mal 0 java mysql prepared-statement sql-like
我想使用preparestatement编写一个mysql select查询。但是最后一部分是concat('%', itemName, '%')";
itemName
表的列,存在语法错误ItemMain
。我已经尝试过以下3个查询。
String sql ="SELECT * FROM ItemMain WHERE ? = 'All' OR ? like concat('%', itemName, '%')";
String sql ="SELECT * FROM ItemMain WHERE ? = 'All' OR ? like '%'+itemName+'%'";
String sql ="SELECT * FROM ItemMain WHERE ? = 'All' OR ? like '%itemName%'";
Run Code Online (Sandbox Code Playgroud)
字段名称不能使用占位符。查询必须是
... WHERE somefield=? OR otherfield LIKE concat('%', ?, '%')
Run Code Online (Sandbox Code Playgroud)
占位符仅用于VALUES。字段/表名,函数名或SQL中的任何“结构”词均不可使用。
这是mysql预准备语句的一般规则。它不是java / php / c#/任何限制。
归档时间: |
|
查看次数: |
1612 次 |
最近记录: |