Mysql分區(qū)表和普通表互轉(zhuǎn)的實(shí)現(xiàn)示例
背景
Mysql分區(qū)表&普通表互轉(zhuǎn)
一、普通表轉(zhuǎn)分區(qū)表
1.普通表如下
CREATE TABLE `fg_pm_nbiot_cel_h_cel_t` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `int_id` decimal(20,0) DEFAULT NULL COMMENT '網(wǎng)元標(biāo)識int_id', `batch` varchar(255) NOT NULL COMMENT '批次', `create_time` datetime DEFAULT NULL COMMENT '創(chuàng)建時(shí)間', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='NB-IoT小區(qū)性能數(shù)據(jù)'
2.普通表轉(zhuǎn)分區(qū)表
假如以batch為分區(qū)字段,且batch的取值為如20210530000格式的日期字符串,
##先將primary key 為id的刪除,再加上id,batch組合的主鍵(分區(qū)表要求分區(qū)字段需要包含在primary key中) ALTER TABLE `fg_pm_nbiot_cel_h_cel` DROP PRIMARY KEY, ADD PRIMARY KEY(`id`,`batch`); ##增加分區(qū)信息 alter table fg_pm_nbiot_cel_h_cel partition by RANGE COLUMNS(batch) ( PARTITION p202106020000 VALUES LESS THAN ( '202106020100' ) );
經(jīng)過上述2步執(zhí)行后普通表就轉(zhuǎn)換成了分區(qū)表
3.如何將分區(qū)表轉(zhuǎn)換回普通表
##主鍵還原只用id做主鍵,先刪除,建回來 ALTER TABLE `fg_pm_nbiot_cel_h_cel` DROP PRIMARY KEY, ADD PRIMARY KEY(`id`); ##移除分區(qū)信息 ALTER TABLE fg_pm_nbiot_cel_h_cel remove partitioning;
到此這篇關(guān)于Mysql分區(qū)表和普通表互轉(zhuǎn)的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Mysql分區(qū)表和普通表互轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- mysql 行列動(dòng)態(tài)轉(zhuǎn)換的實(shí)現(xiàn)(列聯(lián)表,交叉表)
- MySQL橫縱表相互轉(zhuǎn)化操作實(shí)現(xiàn)方法
- Mysql縱表轉(zhuǎn)換為橫表的方法及優(yōu)化教程
- MySQL普通表如何轉(zhuǎn)換成分區(qū)表
- MYSQL表中某字段所有值大小寫轉(zhuǎn)換
- MySQL普通表轉(zhuǎn)換為分區(qū)表實(shí)戰(zhàn)指南
- MySQL表轉(zhuǎn)移數(shù)據(jù)的三種方式小結(jié)
- mysql使用mysql.help_topic表實(shí)現(xiàn)一行轉(zhuǎn)多行的實(shí)現(xiàn)示例
相關(guān)文章
MySql報(bào)錯(cuò):Duplicate entry ‘10‘ for key&nbs
經(jīng)常遇到這個(gè)問題,今天我把這個(gè)問題記錄下來,以后如果有其他人遇到相同的問題,不至于困惑,在操作數(shù)據(jù)庫的時(shí)候,經(jīng)常會(huì)出現(xiàn)Duplicate entry ‘10’ for key 'PRIMARY’這樣的報(bào)錯(cuò),本文將給大家講講如何解決這個(gè)問題,需要的朋友可以參考下2023-10-10mysql數(shù)據(jù)庫視圖和執(zhí)行計(jì)劃實(shí)戰(zhàn)案例
這篇文章主要給大家介紹了關(guān)于mysql數(shù)據(jù)庫視圖和執(zhí)行計(jì)劃的相關(guān)資料,在使用MySQL過程中視圖和執(zhí)行計(jì)劃是一個(gè)很好的工具,文中通過圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02