MySQL/utf8mb4
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&tag(MySQL/utf8mb4);
*目次 [#x04c9e9a]
#contents
*関連ページ [#t0376644]
*参考情報 [#u28e6ad3]
*概要 [#vb7f5270]
-MySQLで絵文字などを扱うための文字コード。
-[[MySQL :: MySQL 5.6 Reference Manual :: 10.1.10.7 The u...
-MySQLで絵文字を使用するにはテーブルの文字コードをutf8mb4...
*設定 [#m888b7c1]
**Railsのキーの767バイト制限の回避 [#c10de758]
-utf8だと1文字3バイトだけど、utf8mb4だと4バイトなので、主...
-以下のようなエラーが表示される。
ERROR 1071 (42000): Specified key was too long; max key ...
-この制限を回避するためにはmysqlの設定を変更し、さらにRai...
***my.cnfの変更 [#p8ccda1f]
-これを回避する設定をmy.cnfに追加する(か、制限を超えない...
#pre{{
innodb_file_per_table = 1 # 5.6.6
innodb_file_format = Barracuda
innodb_large_prefix =1
innodb_default_row_format = DYNAMIC # >= 5.7.9
}}
-終わったら再起動
***config/initializers/ar_innodb_row_format.rbを追加。 [#...
-[[Rails/絵文字を扱う]]を参考のこと。
-migrationでtableを作成する場合に影響する。
***既存テーブル設定の変更 [#ue7aaaf6]
-さらにテーブルごとのROW_FORMATを変更する必要がある。
SELECT row_format from information_schema.tables where t...
ALTER TABLE テーブル名 ROW_FORMAT=DYNAMIC;
ALTER TABLE テーブル名 CONVERT TO CHARACTER SET utf8mb4;
*トラブルシューティング [#fd67cf9c]
**Mysql2::Error: Specified key was too long; max key leng...
-例えば以下のようなインデックス。
t.index ["url"], name: "index_entries_on_url", lengt...
-MySQLではvarcharは文字数なので、そのままではあふれること...
t.index ["url"], name: "index_entries_on_url", lengt...
終了行:
&tag(MySQL/utf8mb4);
*目次 [#x04c9e9a]
#contents
*関連ページ [#t0376644]
*参考情報 [#u28e6ad3]
*概要 [#vb7f5270]
-MySQLで絵文字などを扱うための文字コード。
-[[MySQL :: MySQL 5.6 Reference Manual :: 10.1.10.7 The u...
-MySQLで絵文字を使用するにはテーブルの文字コードをutf8mb4...
*設定 [#m888b7c1]
**Railsのキーの767バイト制限の回避 [#c10de758]
-utf8だと1文字3バイトだけど、utf8mb4だと4バイトなので、主...
-以下のようなエラーが表示される。
ERROR 1071 (42000): Specified key was too long; max key ...
-この制限を回避するためにはmysqlの設定を変更し、さらにRai...
***my.cnfの変更 [#p8ccda1f]
-これを回避する設定をmy.cnfに追加する(か、制限を超えない...
#pre{{
innodb_file_per_table = 1 # 5.6.6
innodb_file_format = Barracuda
innodb_large_prefix =1
innodb_default_row_format = DYNAMIC # >= 5.7.9
}}
-終わったら再起動
***config/initializers/ar_innodb_row_format.rbを追加。 [#...
-[[Rails/絵文字を扱う]]を参考のこと。
-migrationでtableを作成する場合に影響する。
***既存テーブル設定の変更 [#ue7aaaf6]
-さらにテーブルごとのROW_FORMATを変更する必要がある。
SELECT row_format from information_schema.tables where t...
ALTER TABLE テーブル名 ROW_FORMAT=DYNAMIC;
ALTER TABLE テーブル名 CONVERT TO CHARACTER SET utf8mb4;
*トラブルシューティング [#fd67cf9c]
**Mysql2::Error: Specified key was too long; max key leng...
-例えば以下のようなインデックス。
t.index ["url"], name: "index_entries_on_url", lengt...
-MySQLではvarcharは文字数なので、そのままではあふれること...
t.index ["url"], name: "index_entries_on_url", lengt...
ページ名: