から照合スペックを削除します。MySQLは、いくつかのテーブルと列が明示的に照合順序で定義されていた私のDBにテーブルと列
CREATE TABLE `MyTable` (
`MyTableId` int(11) NOT NULL AUTO_INCREMENT,
`CommandName` varchar(255) COLLATE latin1_general_ci NOT NULL,
PRIMARY KEY (`MyTableId`),
ENGINE=InnoDB AUTO_INCREMENT=64 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
は今
ALTER DATABASE `MyDatabase` CHARACTER SET latin1 COLLATE latin1_general_ci;
がそれであるデータベース・レベルでデフォルトの文字セットと照合を定義しデータベースからのデフォルト設定を使用していることが明らかなので、照合を削除することができます(テーブルを再作成する必要はありません)。
CREATE TABLE `MyTable` (
`MyTableId` int(11) NOT NULL AUTO_INCREMENT,
`CommandName` varchar(255) NOT NULL,
PRIMARY KEY (`MyTableId`),
ENGINE=InnoDB AUTO_INCREMENT=64 DEFAULT CHARSET=latin1;
が照合値を指定せずにしようとしましたが、スクリプト、データベースが同じ
ALTER TABLE MyTable MODIFY CommandName varchar(255)
可能な複製[?データベースの既定の照合順序を変更する方法](https://stackoverflow.com/questions/5906585/どのようにデフォルトの照合順序を変更するか) –
@SebastianBrosch、いいえ、この投稿の重複はありません。私はALTERで試してみたが、私が望む結果は得られない – Riga