SQLYog Enterprise
から取られ、この定義があるのMySQL table
があります:私はutf8
にlatin1
からこのテーブルのdefault charset
を変更したい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
が。どうやってするか ?
これとは対照的に、 'ALTER TABLE tbl CHARACTER SET utf8'構文を他の人に示唆されているように使用すると、tableのデフォルトエンコーディングだけが変更されます。この回答を使用する場合、既存の列はそのまま変換されません。 – eaj
データベース内のut8でエンコードされていないすべてのテーブルに対してこの変更を適用する場合は、このクエリを使用して結果のクエリを実行できます: 'SELECT concat( 'alter table'、table_name、 'CONVERT TO CHARACTER SET utf8 table_collation!= 'utf8_general_ci' GROUP BY table_name; ' – Maxooo
これは**デフォルト**文字セットを変更していません。 'ALTER TABLE tbl CHARACTER SET utf8' –