如果想在已經(jīng)建好的表上進(jìn)行分區(qū),如果使用alter添加分區(qū)的話,mysql會提示錯誤:
代碼如下:
正確的方法是新建一個具有分區(qū)的表,結(jié)構(gòu)一致,然后用insert into 分區(qū)表 select * from 原始表;
測試創(chuàng)建分區(qū)表文件
代碼如下:
插入測試數(shù)據(jù)
代碼如下:
查詢P2中的數(shù)據(jù)
代碼如下:
如果刪除P2,在刪除P2分區(qū)的同時(shí),也會將其下的所有數(shù)據(jù)刪除
代碼如下:
再次插入數(shù)據(jù)時(shí),會將原P2的數(shù)據(jù)插入至P3中
代碼如下:
創(chuàng)建一個新的測試表
代碼如下:
直接用alter table tablename add partition 方式再最后面添加分區(qū)
代碼如下:
代碼如下:
使用 REORGANIZE PARTITION進(jìn)行數(shù)據(jù)的合并與拆分,數(shù)據(jù)是沒有丟失的。
(詳細(xì)出處參考:http://www.bitsCN.com/article/42544.htm)
如果用此方式在之前添加會報(bào)錯,只能用另一種合并拆分分區(qū)的方式操作。
新聞熱點(diǎn)
疑難解答
圖片精選