从查询中删除for循环

时间:2017-10-15 10:50:13

标签: mysql for-loop sql-update

假设我有一个简单的查询,如下所示; (这是一个例子,我知道这不是正确的语法,但逻辑保持不变)。

for(let i=1; i<len; i++){
    UPDATE table1 
    SET table1.col1 = i 
    WHERE table1.id = arr[i] 
}

我想避免做10或20个查询,所以我想知道如何删除for,或许类似

UPDATE table1 
SET table1.col1 = ? #<<how to add the increment here.>>
WHERE table1.id IN (arr)

1 个答案:

答案 0 :(得分:0)

您可以将数组转换为逗号分隔值的String,并在查询中使用它。

如何将数组转换为此类值的String取决于您在应用程序中使用的语言,例如:

  • Here's如何在php
  • 中执行此操作的示例
  • Here's如何在Java中执行此操作的示例
相关问题