如何更改MySQL表的默认字符集?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (23)

有一个MySQLtable这个定义是从SQLYog Enterprise

Table              Create Table                                             
-----------------  ---------------------------------------------------------
etape_prospection  CREATE TABLE `etape_prospection` (                       
                     `etape_prosp_id` int(10) NOT NULL AUTO_INCREMENT,      
                     `type_prosp_id` int(10) NOT NULL DEFAULT '0',          
                     `prosp_id` int(10) NOT NULL DEFAULT '0',               
                     `etape_prosp_date` datetime DEFAULT NULL,              
                     `etape_prosp_comment` text,                            
                     PRIMARY KEY (`etape_prosp_id`),                        
                     KEY `concerne_fk` (`prosp_id`),                        
                     KEY `de_type_fk` (`type_prosp_id`)                     
                   ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1  

我想换一下default charset这张表的latin1utf8...。怎么做?

提问于
用户回答回答于

如果想更改表default character set所有字符列到一个新字符集,使用如下语句:

ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;

因此,查询将是:

ALTER TABLE etape_prospection CONVERT TO CHARACTER SET utf8;
用户回答回答于

更改表的默认字符集:

ALTER TABLE etape_prospection
  CHARACTER SET utf8,
  COLLATE utf8_general_ci;

若要更改字符串列字符集,请超出此查询:

ALTER TABLE etape_prospection
  CHANGE COLUMN etape_prosp_comment etape_prosp_comment TEXT CHARACTER SET utf8 COLLATE utf8_general_ci;

扫码关注云+社区