Javaの文字列はUnicodeでエンコードされ、その長さは通常文字数として計算され、1つの中国語文字も1文字としてカウントされます。
MySqlのvarchar(n)タイプフィールドでは、nはバイト数ではなく文字数も表すため、フィールドは<= n文字を挿入できます。文字が占めるバイト数は、使用する文字エンコーディングによって異なります。通常、私はUTF-8を使用し、MysqlのUTF-8でエンコードされた文字は3バイトを占めます。
CREATE TABLE `group_space` (
`GROUP_ID` decimal(16,0) NOT NULL,
`USER_FILE_ID` decimal(18,0) DEFAULT NULL,
`USER_ID` decimal(20,0) DEFAULT NULL,
`GROUP_SIZE` decimal(10,0) DEFAULT NULL,
`CREATE_TIME` timestamp NULL DEFAULT NULL,
`REVIEW_STATUS` decimal(1,0) DEFAULT NULL,
`GROUP_NAME` varchar(5) DEFAULT NULL,
`LAST_OPTIME` timestamp NULL DEFAULT NULL,
`PUBLIC_LEVEL` decimal(1,0) DEFAULT NULL,
`ENTER_LEVEL` decimal(1,0) DEFAULT NULL,
`GROUP_NUMBER` varchar(20) DEFAULT NULL,
`GROUP_MODEL` decimal(3,0) DEFAULT NULL,
`GROUP_STATUS` decimal(1,0) DEFAULT NULL,
`UNI_CONTACT_ID` decimal(20,0) DEFAULT NULL,
PRIMARY KEY (`GROUP_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
GROUP_NAMEフィールドの長さは5です。つまり、5文字を挿入でき、utf8コードは最大15バイトで格納できます。