首頁 > 資料庫 > mysql教程 > 将某个MySQL库中的UTF8字符列都转成GBK格式_MySQL

将某个MySQL库中的UTF8字符列都转成GBK格式_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-01 13:30:02
原創
1265 人瀏覽過

bitsCN.com

将某个MySQL库中的UTF8字符列都转成GBK格式

 

DELIMITER $$DROP PROCEDURE IF EXISTS `dba`.`Proc_ChangeCharacter2GBK`$$CREATE DEFINER=`root`@`%` PROCEDURE ` Proc_ChangeCharacter2GBK`(in DATABASENAME varchar(20))BEGIN    DECLARE done INT DEFAULT 0;    DECLARE a VARCHAR(64) DEFAULT '';    DECLARE b VARCHAR(64) DEFAULT '';    DECLARE c VARCHAR(64) DEFAULT '';    DECLARE d VARCHAR(64) DEFAULT '';    DECLARE l_sql VARCHAR(500);        DECLARE AlterColumnsCharacter CURSOR FOR            SELECT TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,COLUMN_TYPE            FROM information_schema.COLUMNS            WHERE TABLE_SCHEMA=DATABASENAME                 and TABLE_NAME in (  SELECT B.TABLE_NAME FROM information_schema.TABLES B                                                          WHERE B.TABLE_SCHEMA=DATABASENAME  AND B.TABLE_TYPE='BASE TABLE' )                  and COLUMN_TYPE like '%VARCHAR%' and CHARACTER_SET_NAME='utf8' and COLLATION_NAME='utf8_general_ci';    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;      OPEN AlterColumnsCharacter;      REPEAT  FETCH AlterColumnsCharacter INTO a,b,c,d;    if(done = 0) then       SET l_sql=CONCAT(' alter table ',a, '.',b,' change ',c,' ',c,' ',d,' character set gbk collate gbk_chinese_ci NULL; ');       SET @sql=l_sql;      PREPARE s1 FROM @sql;      EXECUTE s1;      DEALLOCATE PREPARE s1;    end if;           UNTIL done     END REPEAT;    CLOSE AlterColumnsCharacter;    END$$DELIMITER ;
登入後複製

 


bitsCN.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板