文字エンコーディングがlatin1
(1バイト文字セット)の場合、SQL
以下の文はエラーなしで実行されます。MySQLのcharデータ型の最大長が正しくありません
create table chartype (chardata char(255));
しかし、文字エンコーディングがUTF-8
(各文字に3バイト)、
create table chartype (chardata char(255));
ある場合は、この文はエラーをスローする必要がありますが、それはエラーなしで実行されます。 charデータ型のため 最大長は
create table chartype (chardata char(85));
85 * 3 = 255bytes
、そうがUTF-8
文字が
を設定するための最大の長さであることが唯一の文の下に許可する必要がありますエンコードUTF-8
のために、255 bytes
です私を明確にしてください。
ドキュメントでは、charの長さは255バイトに制限されています。バイト長ではありません。 – Uueerdo
それはうまく動いている、私はw3schoolでテストした、あなたも[w3Sql]を試すことができます(http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all) –