我的数据库中有以下表格
id name is_current
1 apple 0
2 banana 1
3 mango 0
4 grapes 1
5 pineapple 1
我想执行一个更新查询,它将更新(fruit)表的最后一列(is_current)单值,同时也更新整个列值。例如,第一行有一个带有id=1
的苹果,我想将此值设置为1,将所有其他水果值设置为零,以便表格看起来像,
id name is_current
1 apple 1
2 banana 0
3 mango 0
4 grapes 0
5 pineapple 0
目前我正在使用两种不同的查询和不同的方法来实现这一目标
第一:将is_current
列的所有值设置为0
String sql = "UPDATE "+TABLE_NAME +" SET " + is_current + " = '"+ Zero +"';
第二:是使用id
将apple值设置为1String sql = "UPDATE "+TABLE_NAME +" SET " + is_current + " = '"+ One +"' WHERE "+ id + " = "+rowId;
那么如何将这两个查询合并为一个来实现呢?
答案 0 :(得分:1)
如果你想为特定的水果/ ID做这个东西(例如每次你更新苹果),你可以设置一个触发器,这样当你更新那个水果时,它会自动设置为零所有其他行。 但是,如果你想以更一般的方式做这些事情,那么你需要执行2个查询(由@Der Golem讲述)
答案 1 :(得分:0)
how can I combine these two queries to a single one to achieve this?
你不能 您必须执行至少2个命令。
将所有is_current
值更新为0的命令
以及将指定记录更新为1的命令。