- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:tableをつくれない)
tableをつくれないエラーの対処方法
このQ&Aのポイント
- MySQLでCREATE TABLE文を実行する際に、指定したキーの長さが長すぎるエラーメッセージが表示される場合の対処方法について説明します。
- エラーメッセージ「#1071 - Specified key was too long; max key length is 767 bytes」が表示される場合は、指定したキーの長さが767バイトを超えているためエラーが発生しています。
- このエラーは、utf8mb4などの文字セットを使用している場合に発生しやすく、キーの長さを短くするか、文字セットを変更することで解決できます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>`keywords` VARCHAR( 511 ) CHARACTER SET utf8 MySQLのvarcharはバイト単位ではなく文字単位ですから 256文字以上の3バイト文字を指定すると767バイトをこえるので unique設定できません。上限255文字だとおもってください。 (接頭辞に2バイトつかうので255*3+2=767バイト) そもそも長すぎるvarcharを連発していますがもう少しきちんと 設計をしたほうがよいのでは?
その他の回答 (1)
- SaKaKashi
- ベストアンサー率24% (755/3136)
回答No.1
>#1071 - Specified key was too long; max key length is 767 bytes キーの最大長は767バイトだと言ってます。 >UNIQUE ( >`bc_guid` , >`bc_wbs` , >`keyword_h1_url` , >`keywords` , >`description` >) 明らかに767バイトを超えてますね。