java - 如何检查列是否包含和Id,然后在sql中更新它?

标签 java mysql if-statement phpmyadmin

我有一个表格如下

Zoneid     |  Values
------------------
  1    |  a
  1    |  b  
  1    |  c
  1    |  d
  1    |  e
  2    |  a
  2    |  a
  2    |  c
  2    |  c
  2    |  e
  3    |  a
  3    |  c
  3    |  b
  3    |  d

我想将 Zoneid =1 的所有值更新为“已完成”,将 ZoneId =3 的所有值更新为“失败”,是否有任何 if 语句我可以尝试执行此操作?任意

if(ZoneId = "1") Update Zones set Values = "completed";

mysql 的语法?

重要

必须迭代每个 ZoneId

编辑

基本上我会通过java程序更新表格,

///Values is an arrayList which contains the following  Strings
Values = {
 completed1,
 completed2,
 completed3,
 completed4
};
//The idea is to loop in this array and update every ZoneId= 1 and ZoneId = 3

for (int i = 0; i < Values.size()) {
 //update table zones

 if (ZoneId = 1) Update Values.get(i);
}

输出应该是这样的

id     |  Values
------------------
  1    |  completed1
  1    |  completed2  
  1    |  completed3
  1    |  completed4

抱歉给您带来不便:)

最佳答案

您可以使用案例:

UPDATE Zones
SET    Values = CASE WHEN ZoneId = 1 THEN 'COMPLETED'
                     WHEN ZoneId = 3 THEN 'FAILURE'
                END
WHERE  Values IN (1,3);

UPDATE Zones
SET    Values = CASE WHEN ZoneId = 1 THEN 'COMPLETED'
                     ELSE 'FAILURE'
                END
WHERE  Values IN (1,3);

关于java - 如何检查列是否包含和Id,然后在sql中更新它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49635234/

相关文章:

mysql - 如何在 MySQL 中将 BigDecimal 转换为整数

mysql - 返回与属于 wp_users 表中的用户 ID 的元键 wp_usermeta 表关联的元值

c++ - boost::lambda::if_then 用于 copy_if

JavaScript 条件总是失败

python - 有条件的 Pandas Dataframe

java - 如何在 Eclipse 中重命名一个类及其对应的文件?

java - 将Java连接到MySQL数据库

java - 如何用空格拆分字符串并将空格作为结果中的元素包含在内?多个空格拆分

Java:构建项目然后重新启动服务器的方法

MYSQL - 如何解决 66 KB 的行大小限制