【MySql】mysql 資料庫資料訂正
工作過程中時常遇到資料訂正的需求,該操作本身不難。操作時要求能夠保持回滾~對於能夠滿足回滾的要求,我通常執行備份表,然後執行變更!如果傳送訂正錯誤或者使用者要求回滾的時候,就完全恢復整個表,這樣做會有多餘的操作,因為我們只要
實際上可以選擇備份要進行更正的資料!比如如下需求:
將表resource中usage_type='unused' 並且 user_id=166 的記錄更新為user_id=169 !更新100條!
1 首先備份表
create table test.resource_20120221 as
select * from resource where usage_type='unused' and user_id=166 order by id limit 100;
2 執行資料訂正操作
update resource set user_id=169 where user_id=166 and id in ( select id from test.resource_20120221);
如果需要回滾的話,只需執行
update resource set user_id=166 where id in ( select id from test.resource_20120221);
即可!
這裡涉及到小批次資料的訂正,如果大量的資料,就要使用批次提交的方法了!
附上:
M-M架構的DDL變更技巧
l M-M 複製架構,只有一臺提供全部或主資料服務
推薦DDL語句,在當下M-M架構中屬於備用資料庫伺服器上優先執行,有四項優點:
1 不立即影響資料庫提供的 資料服務;
2 不阻塞主備之間資料複製的日誌恢復操作;
3 DDL語句執行過程,若出問題隻影響備庫的穩定性,而很少會影響主庫;
4 若有資料服務無縫切換功能(例如:heartbeat、自主資料層等),可以在備庫執行完成後,進行資料服務提供的主備庫切換,尤其是資料容量大的表變更時,可以減少對業務影響程度及減少停機維護時間和次數;
具體操作
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-717175/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫三大正規化 Mysql資料庫MySql
- 【資料庫】mysql資料庫索引資料庫MySql索引
- [資料庫]【MySQL】MySQL資料庫規範總結資料庫MySql
- MySQL資料庫資料管理MySql資料庫
- Mysql資料庫-資料模型MySql資料庫模型
- 資料庫(MySQL)資料庫MySql
- 資料庫-MySQL資料庫MySql
- 資料庫 MySQL資料庫MySql
- MYSQL資料庫MySql資料庫
- 【MySQL 資料庫】MySQL目錄MySql資料庫
- mysql資料庫-資料結構MySql資料庫資料結構
- MySQL資料庫遷移與MySQL資料庫批量恢復MySql資料庫
- MySQL資料庫(二)MySql資料庫
- MySQL 資料庫操作MySql資料庫
- Mysql建立資料庫MySql資料庫
- 【Mysql】資料庫原理MySql資料庫
- 【6】MySQL資料庫MySql資料庫
- MySQL預設資料庫之mysql庫MySql資料庫
- [Mysql] 4.Mysql 建立資料庫MySql資料庫
- 寶塔資料庫恢復 mysql資料庫丟失恢復 mysql資料庫刪除庫恢復 寶塔mysql資料庫恢復資料庫MySql
- PHP資料寫入MySql資料庫PHPMySql資料庫
- DataX將MySql資料庫資料同步到Oracle資料庫MySql資料庫Oracle
- MySQL資料庫工具類之——DataTable批量加入MySQL資料庫(Net版)MySql資料庫
- mysql資料庫規範MySql資料庫
- MySQL資料庫總結MySql資料庫
- mysql資料庫的索引MySql資料庫索引
- MySQL資料庫使用(二)MySql資料庫
- Mysql資料庫操作命令MySql資料庫
- django 配置mysql資料庫DjangoMySql資料庫
- mysql 資料庫 備份MySql資料庫
- MySQL資料庫之索引MySql資料庫索引
- MySQL資料庫優化MySql資料庫優化
- 啟動MySql資料庫MySql資料庫
- 建立資料mysql庫流程MySql
- PHP操作MySQL資料庫PHPMySql資料庫
- MySQL資料庫引數MySql資料庫
- MySql資料庫——檔案MySql資料庫
- MySQL資料庫常用操作MySql資料庫