table文の構築:
CREATE TABLEを IF ないが、 EXISTS API( APIの VARCHAR(500)ではない ヌル 、 方法はvarchar(50)ではない nullを デフォルトの ' POST ' 、 PRIMARY キー(API、メソッド) )ENGINE =のInnoDB DEFAULTの CHARSET = utf8をし;
エラー:
指定されたキーは、あまりにもだった長いです。最大 キー長がある 767バイト。
理由:
ここでは、APIを使用し、上記基本キーのAPIテーブルを行うための方法は、これら二つのフィールドに応じて索引付けされ、文字セットがUTF8は、次に3バイト文字、合計バイト数の指標である、である:500 * 3 + = 1650バイト3 * 50は、インデックスは、MySQL 767バイトが必要です。
ソリューション:
VARCHARへのAPIフィールド(200)VARCHARに、方法(20)
:それとも、最初のn文字インデックスフィールド、参照として定義することができますhttps://blog.csdn.net/u010429286/article/details/80418666 解決するために
UNIQUE KEY `uniq_store_code`(` record_date`、 `store_code`(20)、` sku_division_code`(20)、 `abc`(20))
その後store_codeは、sku_division_codeは、一意のインデックスとして元からABCの3つの文字フィールド20は、その長さを超えないようにすることを意味します。