有一个MySQL table
拥有这个定义SQLYog Enterprise
采取:如何更改MySQL表的默认字符集?
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
从latin1
更改为utf8
。怎么做 ?
相比之下,如果您只是使用别人建议的'ALTER TABLE tbl CHARACTER SET utf8'语法,您将只更改表的默认编码;如果您使用此答案,现有列将不会进行转换。 – eaj 2014-01-27 13:57:06
如果要对数据库中未用ut8编码的所有表应用此更改,可以使用此查询并执行结果查询: 'SELECT concat('alter table',table_name''CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;')FROM information_schema.tables WHERE table_schema =''和table_collation!='utf8_general_ci'GROUP BY table_name;' –
Maxooo
2014-10-09 08:11:46
这不会改变**默认**字符集。要改变默认值,就像eak所说的那样:'ALTER TABLE tbl CHARACTER SET utf8' – 2016-09-22 20:18:56