簡體   English   中英

MySQL:如何將值更新為多行並同時使用where子句?

[英]MySQL: How to Update values into multiple rows and use where clause as well?

我試圖更新的int值(a的值primary key從另一個表名為檢索country )到city_id列(這是一個Foreign Keypersons從表中country表), 在所有行其中值屬性/列的nameJohn, Amy, Adam, Abraham, Bob, David, Robert, George, Elizabeth, Mike and Barbara.

我嘗試使用此查詢,但是我得到一個異常,即我的MySQL語法有錯誤

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

我也通過刪除括號來進行嘗試。

那么,有人可以指出這是怎么回事,還是可以滿足我的目的的另一個查詢?

你可以用

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')";

您應該使用以下命令,它肯定有效

更新人員設置city_id =“ + rid +”,其中name ='John'
或name ='Amy'
或name ='Adam'
或name ='Abraham'
或name ='Bob'
或name ='David'
或name ='Robert'
或name ='George'
或name ='Elizabeth'
或name ='Mike'
或name ='Barbara';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM