私のMysql 5.7.13データベースのテーブルのvarchar(500)
カラムにユニークなインデックスを維持する必要があります。Mysql 5.7.13 innodb unique column varchar(500)
文字セットはUTF8に設定されているので、私が知る限り、innodbエンジンを使用しているので、文字の制限は255です。 私はまた、innodb_large_prefix
というオプションが存在することを知っています。これは、ディメンションを3072バイトまで拡張する必要があります。この機能をサポートするようにdbを構成しようとしましたが、機能しません。私は同じ最後の文字が異なる2つの同じ500文字の長い行を挿入しようとしましたが、ユニークなチェックが最初の255文字で実行されるため、一意の制約エラーが発生します。
何か不足していますか?私はこのオプションの目的を誤解しましたか?
P.S innodb_file_format = Barracuda
は、mysqlのマニュアルで指摘されています。
ありがとうございました。 Simone
テーブルの行形式は何ですか?それはドキュメントではダイナミックまたは圧縮された行形式のためだと言います。そうかもしれません。 – rlanvin
@rlanvin最初に行のフォーマットを 'ダイナミック'に変更し、次に 'COMPACT'に変更しましたが、結果は同じです。一意制約は最初の255文字で計算されます。 –