MySQL:如何将值更新为多行并使用where子句?

时间:2014-04-28 13:08:32

标签: java mysql sql jdbc

我正在尝试更新一个int值(从另一个名为primary key 的表中检索到的country的值)到{ {1}}列(city_id表中Foreign Key表中的persons,所有行中的 ,其中{{} 1}}属性/列是country

我尝试使用此查询,但我得到我的MySQL语法错误的异常。

name

我也通过删除括号来尝试这个。

那么有人可以指出它有什么问题,或者其他可以达到我目的的查询吗?

2 个答案:

答案 0 :(得分:1)

你可以使用

String query1="update persons set city_id="+rid+" where 
name= 'John' or 
name= 'Amy' or 
name= 'Adam' or 
name= 'Abraham' or 
name= 'Bob' or 
name= 'David' or 
name= 'Robert' or 
name= 'George' or 
name= 'Elizabeth' or 
name= 'Mike' or 
name= 'Barbara'";

或者您可以使用

String query1="update persons set city_id="+rid+" where name in ('John','Amy','Adam','Abraham','Bob','David','Robert','George','Elizabeth','Mike','Barbara')";

答案 1 :(得分:-1)

你应该使用以下命令,它肯定有效

更新人员设置city_id =“+ rid +”在哪里                 name ='John'                 或者名字='艾米'                 或者名字='亚当'                 或者名字='亚伯拉罕'                 或者名字='鲍勃'                 或者名字='大卫'                 或者名字='罗伯特'                 或者姓名='乔治'
或姓名='伊丽莎白'左或右姓='迈克'                 或者名字='芭芭拉';