電子書籍の厳選無料作品が豊富!

MySQL 5.1の CHAR(M)型のMは「文字数」でしょうか?それとも「バイト数」でしょうか?

教えて頂けませんか?

自分の認識では「文字数」と思っているのですが、下記のような現象が発生しております。



mysql>
mysql>
mysql>
mysql>
mysql> SHOW CREATE TABLE TEST\G;
*************************** 1. row ***************************
Table: TEST
Create Table: CREATE TABLE `TEST` (
`MOJI` char(6) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.01 sec)

ERROR:
No query specified

mysql>
mysql> SELECT * FROM TEST;
Empty set (0.00 sec)

mysql>
mysql> INSERT INTO TEST (MOJI) VALUES ('ああああ');
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql>
mysql> SELECT * FROM TEST;
+--------+
| MOJI |
+--------+
| ああ |
+--------+
1 row in set (0.00 sec)

mysql>
mysql> INSERT INTO TEST (MOJI) VALUES ('abcdef');
Query OK, 1 row affected (0.00 sec)

mysql>
mysql> SELECT * FROM TEST;
+--------+
| MOJI |
+--------+
| ああ |
| abcdef |
+--------+
2 rows in set (0.00 sec)

mysql>
mysql>
mysql>
mysql>



環境はCentOS 5.5 で、OSの文字コードもMySQLの文字コードも「utf8」としています。


どうかご教授下さい。

A 回答 (1件)

どこで文字数との認識になったのか分からないけど、マニュアルを読めばすぐに分かるでしょう



http://dev.mysql.com/doc/refman/5.1/ja/char.html

ちなみに、UTF-8 の場合日本語の大半は3バイト
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!