像批量插入一样更新多行
本文关键字:一样 更新 插入 | 更新日期: 2023-09-27 18:05:37
我使用以下场景进行大容量插入:
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
在我的整个项目中,我们经常使用这些技术进行批量插入。是否有类似的批量更新方式?我引用了这些链接,但它们与我的场景不匹配
- linl1
- link2
答案就在参考链接中。再仔细检查一遍,或者试试这个:
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