JDBC SQl 语句 IN 参数的格式是什么
我jdbc做数据库操作,有参数放在in关键字的地方Stringsql="updateTablesetname='TestName'wheretypein?";我想查询ty...
我jdbc做数据库操作,有参数放在in关键字的地方
String sql = " update Table set name = 'TestName' where type in ? ";
我想查询type 是 typeone 和 typetwo typethree 的数据。所以我把参数写成 如下:
ps.setString(1, "typeone','typeone','typethree");
但是数据库没有修改,而且也没报错,我都试了好几个格式了 都不好使
请问这个in 参数的正确格式应该是怎么样。谢谢。
String sql = " update Table set name = 'TestName' where type in (?) ";
加了()也没好使,
另外 参数个数是不固定的 所以只能拼sql到一个参数里传过去。 展开
String sql = " update Table set name = 'TestName' where type in ? ";
我想查询type 是 typeone 和 typetwo typethree 的数据。所以我把参数写成 如下:
ps.setString(1, "typeone','typeone','typethree");
但是数据库没有修改,而且也没报错,我都试了好几个格式了 都不好使
请问这个in 参数的正确格式应该是怎么样。谢谢。
String sql = " update Table set name = 'TestName' where type in (?) ";
加了()也没好使,
另外 参数个数是不固定的 所以只能拼sql到一个参数里传过去。 展开
4个回答
展开全部
IN 操作符允许我们在 WHERE 子句中规定多个值。
SQL IN 语法
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)
例子:
Persons 表:
Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing
IN 操作符实例
现在,我们希望从上表中选取姓氏为 Adams 和 Carter 的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons
WHERE LastName IN ('Adams','Carter')
结果集:
Id
LastName FirstName Address City
1 Adams John Oxford Street London
3 Carter Thomas Changan Street Beijing
SQL IN 语法
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)
例子:
Persons 表:
Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing
IN 操作符实例
现在,我们希望从上表中选取姓氏为 Adams 和 Carter 的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons
WHERE LastName IN ('Adams','Carter')
结果集:
Id
LastName FirstName Address City
1 Adams John Oxford Street London
3 Carter Thomas Changan Street Beijing
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2019-04-09
展开全部
需要使用for循环拼接参数,不能直接这样操作
SELECT * FROM TABLE_A WHERE A_NAME IN(?)
ps.setString(1,"想要拼的字符串");这种写法严重错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update Table set name = 'TestName' where type in (?,?,?);
追问
。。。我可能没说明白,问题是in里面的参数不固定。所以要拼成一个参数然后放进去。所以要把这三个拼成一个string放进去
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你应该把参数放到()中把
更多追问追答
追问
String sql = " update Table set name = 'TestName' where type in (?) ";
ps.setString(1, "typeone','typeone','typethree");
加了() 还是没效果,不知道string参数拼的对不对 。
追答
那就分成三个分别进行传入值,为什么非要放在一起呢,你的个数不确定,你就用循环进行操作,你有几个,你就写几个参数,传值的时候,你再次进行循环不就行了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询