DEVELOPERS BLOGデベロッパーズブログ

  1. HOME > 
  2. 加藤 正人のデベロッパーズブログ > 
  3. phpMyAdmin と MariaDB で文字セット変更時にエラー

加藤 正人のデベロッパーズブログ

加藤 正人

氏名
加藤 正人
役職
多分SE
血液型
秘密
出没
美味しいもののあるところ
特色
タヒチ大好き。ちょいメタボ。

PhpSpreadsheet でExcel ファイルを読み込む (CakePHP3)

2016/01/06

PhpSpreadsheet でExcel ファイルを読み込む (CakePHP3)

 

昨年末ごろの更新が当たってからだと思うのだが、Fedora 22 で phpMyAdmin を使って MariaDB のテーブルフィールドの文字セットを変更しようとすると

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '=utf8 COLLATE utf8_general_ci NOT NULL' at line 1

のようなエラーが発生するようになった。phpMyAdmin が発行した SQL 文は下記の通り。

ALTER TABLE `aaaa` CHANGE `f1` `f1` VARCHAR(32) CHARSET=utf8 COLLATE utf8_general_ci NOT NULL

いろいろ試行錯誤してみた結果、SQL 文内の文字セット指定「CHARSET=○○ 」のように CHARSET キーワードと文字セット名をイコール記号で結ぶのではなく、「CHARACTER SET ○○」 のように指定にすることで動作することが分かった。

MySQL のドキュメントでは ALTER TABLE における文字セット指定は CHARET=○○ ではなく CHARACTER SET ○○ となっているので、phpMyAdmin が生成する SQL 文がおかしいように思われる。

関連タグ: phpMyAdmin  MariaDB 

関連エントリー