c# - 更新多行就像批量插入一样

标签 c# mysql vb.net sql-update

我正在使用以下场景进行批量插入。

Dim queryBuilder As New StringBuilder
queryBuilder.Append("Insert into myTable(col1,col2)values")
Dim loopFlag As Boolean = False
For i As Integer = 0 To 150
  queryBuilder.Append("(" & i & ",'" & i & "th Value'),")
Next
If loopFlag Then
  ' call method to execute the query'
   ExecuteQuery(RemoveTrailingComma(queryBuilder.ToString()))
End If

在我的项目中,我们经常使用这些技术进行批量插入。有没有类似的批量更新方法?我引用了这些链接,但它们与我的场景不匹配

最佳答案

答案就在引用链接本身中。再次仔细检查一遍,或者尝试以下操作:

  queryBuilder.Append("ON DUPLICATE KEY UPDATE col2 = VALUES(col2)")

因此您的整个代码将如下所示:

    Dim queryBuilder As New StringBuilder
    queryBuilder.Append("Insert into myTable(col1,col2)values")
    Dim loopFlag As Boolean = False
    For i As Integer = 0 To 150
        queryBuilder.Append("(" & i & ",'" & i & "th Value'),")
    Next
    Dim mySql As String = RemoveTrailingComma(queryBuilder.ToString()) & "ON DUPLICATE KEY UPDATE col2 = VALUES(col2)"
    If loopFlag Then
        ExecuteQuery(mySql)
    End If

关于c# - 更新多行就像批量插入一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31738488/

相关文章:

c# - 将 CookiesContainer 对象从 WCF 服务返回给客户端

c# - Global.asax 没有捕获到错误?

c# - Application Insights 未收到任何数据

php - MySql 查询中基于初始查询结果的新查询

php - 在同一实例中由多个用户同时插入值时获取最后插入的 ID

mysql - LEFT JOIN 不会响应

C# 和 C# 中的 VB

c# - 如何使用 MessageQueue 检测连接中断

python - Flask/Apache 中的 PyMySQL 有时返回空结果

vb.net - 如何确定一个类是否用特定属性装饰