これは、特定のバージョンに依存します
バージョン4.0以下、VARCHAR(100)、ストレージUTF8文字の場合、33(各文字のための3バイト)を格納することができ、100のバイトを指し
上記5.0、VARCHAR(100)、100は、格納された数字、文字または文字のUTF8(各文字のための3バイト)かどうか、文字を指す100を格納することができます。
自分のデータベースでJianzhongを置くことができますどのように多くの文字テーブルのテスト。
例:5.0またはそれ以降、例えば。
新しいテーブル:
CREATE TABLEのvarchar_test( `id`のint型(11)NOT NULLを、 ` STRING`のVARCHAR(20 ) )ENGINE = のInnoDB DEFAULTの CHARACTERの SET = utf8COLLATE = utf8_general_ci
表の挿入
INSERT INTO varchar_test(ID、文字列) VALUES(1、' 12345678 90 ')。
INSERT INTOのvarchar_test(ID、文字列) VALUES(2、' 123456789 2345678 1190年')。
INSERT INTO varchar_test(ID、文字列) VALUES(3、' 12345678901234567890 ');
テスト結果:
1:12345678 90
2:123456789 11 2345678 90
3:12345678901234567890
あなたは21個の以上の文字を挿入すると、エラー
INSERT INTO varchar_test(ID、文字列) VALUES(3、' 123456789012345678901 ')。
[Err] 1406 - Data too long
for
column
'string'
at
row 1
漢字と英語の文字の数が見えるMySQLのVARCHAR(N)は同じで格納することができ、それは、n個の文字であります
しかし、同社のmysqlの12文字の挿入ではなく、エラーが、自動的に10個の文字を傍受は、MySQLの挿入傍受の構成の説明を行います