1
A
回答
8
請確保您在運行任何更新之前進行備份,以免發生錯誤。
假設(根據你的問題),你做不希望seqid
4修改:
update MyTable
set seqid = seqid + 1
where seqid between 1 and 3
如果你只是想增加每seqid
,做到:
update MyTable
set seqid = seqid + 1
編輯補充: 如果你想在做出這樣的改變之前看到你正在做的事情的結果(做這種改變時一個好主意):
begin tran
select seqid, count(*)
from Mytable
where seqid between 1 and 4
update MyTable
set seqid = seqid + 1
where seqid between 1 and 3
select seqid, count(*)
from Mytable
where seqid between 1 and 4
--rollback tran
--commit tran
如果您看到Seqids的數量是對的,請不要忘記提交;不要讓事務處於打開狀態,特別是在prod上!但是當你不肯定會有什麼影響時,這對於測試更新或刪除是非常好的主意。
另一種技術嘗試,如果你有一個複雜的更新是:
update mt
set seqid = seqid + 1
--select seqid, seqid+1, *
From MyTable mt
where seqid between 1 and 3
這樣你就可以運行選擇,看看提前正是每個值將被更改爲。
2
這是更普遍的情況,這使得沒有關於新舊值是如何相關的假設:
update foo
set seqid = case seqid
when 1 then 2
when 2 then 3
when 3 then 4
end
where seqid in (2,3,4)
相關問題
- 1. 從多個更新查詢中返回一條「記錄更新」
- 2. 如何顯示多條記錄的最新更新記錄
- 3. 使用mysql_fetch_assoc並更新每條記錄
- 4. CakePHP:使用hasMany更新多條記錄
- 5. 使用FormView/UpdateView更新多條記錄
- 6. Coldfusion:如何用一個ID更新多條記錄
- 7. 如何更新數千條記錄
- 8. 如何根據條件更新記錄?
- 9. Rails更新記錄列僅更新字符串的一部分
- 10. Mongoid更新多條記錄
- 11. 更新多條記錄
- 12. SQL更新兩條記錄
- 13. 如何顯示更新查詢更新了多少條記錄?
- 14. 更新MongoDB記錄會重寫整個記錄還是僅更新字段?
- 15. 使用另一個表中的值更新某條記錄
- 16. mysql - 一次更新兩條記錄
- 17. 如何更新同一個表中另一條記錄的記錄?
- 18. 如何使用nhibernate更新記錄
- 19. 如何使用Sequelize更新記錄?
- 20. php更新腳本,只更新最後一條記錄
- 21. 從Excel VBA更新Access 2010表只更新一條記錄
- 22. 註銷PHP會話 - 僅更新最後一條記錄
- 23. 使用ajax更新記錄
- 24. 使用SQL更新記錄
- 25. 更新記錄使用EF
- 26. 使用WHILE循環更新回顯數據。只更新一條記錄
- 27. 的Rails 3 - 更新多條記錄一種形式
- 28. Codeigniter - 如何更新記錄?
- 29. 如何更新記錄?
- 30. 如何更新記錄