电竞比分网-中国电竞赛事及体育赛事平台

分享

如何修改某一個(gè)表的字符集(轉(zhuǎn))

 茫茫V 2014-10-11

如果用戶想改變表的默認(rèn)字符集和所有的字符列的字符集到一個(gè)新的字符集,使用下面的語句:
ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;
警告:
上述操作是在字符集中轉(zhuǎn)換列值。如果用戶在字符集(如 gb2312)中有一個(gè)列,但存儲(chǔ)的值使用的是其它的一些不兼容的字符集(如 utf8),那么該操作將不會(huì)得到用戶期望的結(jié)果。在這種情況下,用戶必須對(duì)每一列做如下操作:
ALTER TABLE t1 CHANGE c1 c1 BLOB;
ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;
這樣做的原因是:從 BLOB 列轉(zhuǎn)換或轉(zhuǎn)換到 BLOB 列沒有轉(zhuǎn)換發(fā)生。
如果用戶指定以二進(jìn)制進(jìn)行 CONVERT TO CHARACTER SET,則 CHAR、VARCHAR 和 TEXT 列將轉(zhuǎn)換為它們對(duì)應(yīng)的二進(jìn)制字符串類型(BINARY,VARBINARY,BLOB)。這意味著這些列將不再有字符集,隨后的 CONVERT TO 操作也將不會(huì)作用到它們上。
如果僅僅改變一個(gè)表的缺省字符集,可使用下面的語句:
ALTER TABLE tbl_name DEFAULT CHARACTER SET charset_name;
DEFAULT是可選的。當(dāng)向一個(gè)表里添加一個(gè)新的列時(shí),如果沒有指定字符集,則就采用缺省的字符集(例如當(dāng)ALTER TABLE ... ADD column)。
ALTER TABLE ... DEFAULT CHARACTER SET 和 ALTER TABLE ... CHARACTER SET 是等價(jià)的,修改的僅僅是缺省的表字符集。

以上來源:http://13998392852.blog.163.com/blog/static/3343967820091012101327542/

1.修改MySQL的數(shù)據(jù)庫的字符集


數(shù)據(jù)庫代碼
alter database shop default character set utf8 collate utf8_bin;
alter database shop default character set utf8 collate utf8_bin;

2.修改MySQL的表的字符集


表代碼
alter table producttype default character set utf8 collate utf8_bin
alter table producttype default character set utf8 collate utf8_bin

3.修改MySQL的字段的字符集


Java代碼
alter table producttype change name
name varchar(128) character set utf8 collate utf8_bin not null; 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多