「Java+MySQL+Tomcatで始めるWebアプリケーション構築入門」の
INSERTの箇所(P133)にて、以下のエラーとなってしまいます。
---------------------------------------------------------
mysql> INSERT INTO author(name,birth_year) VALUES('夏目漱石',1867);
ERROR 1406 (22001): Data too long for column 'name' at row 1
---------------------------------------------------------
my.iniの設定はcp932に変更をし、サービスの再起動も実行しました。
OSはwindows vistaとなります。
色々なサイトで調べても解決できませんでした。
ご教示よろしくお願いいたします。
INSERTの箇所(P133)にて、以下のエラーとなってしまいます。
---------------------------------------------------------
mysql> INSERT INTO author(name,birth_year) VALUES('夏目漱石',1867);
ERROR 1406 (22001): Data too long for column 'name' at row 1
---------------------------------------------------------
my.iniの設定はcp932に変更をし、サービスの再起動も実行しました。
OSはwindows vistaとなります。
色々なサイトで調べても解決できませんでした。
ご教示よろしくお願いいたします。
投稿:masayuki[masayuki]/2011年 01月 09日 23時 51分
/更新:2011年 01月 09日 23時 55分
RE:INSERT時にエラーとなってしまいます
by 竹形 誠司[takegata]
竹形です。こんばんは。
デフォルトの文字コードは、テーブル作成時にテーブルに対して設定されます。そのため、my.iniを修正しても、既に作成されたテーブルに対しては、この設定
が反映されません。テーブルを一度削除して、つくり直してみていただけますか?
取り急ぎ。
デフォルトの文字コードは、テーブル作成時にテーブルに対して設定されます。そのため、my.iniを修正しても、既に作成されたテーブルに対しては、この設定
が反映されません。テーブルを一度削除して、つくり直してみていただけますか?
取り急ぎ。
投稿:竹形 誠司[takegata]/2011年 01月 10日 00時 54分
/更新:2011年 01月 10日 00時 54分
訂正です。
デフォルトの文字コードはデータベース領域にも設定されていました。
なので、データベース領域を一度削除してつくり直してみてください。
デフォルトの文字コードはデータベース領域にも設定されていました。
なので、データベース領域を一度削除してつくり直してみてください。
投稿:竹形 誠司[takegata]/2011年 01月 10日 02時 51分
/更新:2011年 01月 10日 02時 51分
こんばんは。返信ありがとうございます。
以下のSQLでテーブル削除を行いましたが、エラーのままです。
----------------------------------------------
mysql> DROP DATABASE IF EXISTS jamyto;
Query OK, 1 row affected (0.44 sec)
mysql> #データベース領域の作成
mysql> CREATE DATABASE jamyto;
Query OK, 1 row affected (0.00 sec)
mysql> #データベース領域の指定
mysql> USE jamyto;
Database changed
mysql> #テーブルの作成
mysql> CREATE TABLE author(
-> id INT AUTO_INCREMENT PRIMARY KEY,
-> name CHAR(10),
-> birth_year INT
-> );
Query OK, 0 rows affected (0.06 sec)
mysql> INSERT INTO author(name,birth_year) VALUES('夏目漱石',1867);
ERROR 1406 (22001): Data too long for column 'name' at row 1
mysql>
----------------------------------------------
よろしくお願いいたします。
以下のSQLでテーブル削除を行いましたが、エラーのままです。
----------------------------------------------
mysql> DROP DATABASE IF EXISTS jamyto;
Query OK, 1 row affected (0.44 sec)
mysql> #データベース領域の作成
mysql> CREATE DATABASE jamyto;
Query OK, 1 row affected (0.00 sec)
mysql> #データベース領域の指定
mysql> USE jamyto;
Database changed
mysql> #テーブルの作成
mysql> CREATE TABLE author(
-> id INT AUTO_INCREMENT PRIMARY KEY,
-> name CHAR(10),
-> birth_year INT
-> );
Query OK, 0 rows affected (0.06 sec)
mysql> INSERT INTO author(name,birth_year) VALUES('夏目漱石',1867);
ERROR 1406 (22001): Data too long for column 'name' at row 1
mysql>
----------------------------------------------
よろしくお願いいたします。
投稿:masayuki[masayuki]/2011年 01月 12日 02時 12分
うーむ、そうですか。
my.ini が正しく読み込まれていないのかも知れませんね。
2点、確認させてください。
1) my.iniはどこに置いてありますか?
2) MySQLは再起動しましたか?
my.ini が正しく読み込まれていないのかも知れませんね。
2点、確認させてください。
1) my.iniはどこに置いてありますか?
2) MySQLは再起動しましたか?
投稿:竹形 誠司[takegata]/2011年 01月 14日 11時 34分
/更新:2011年 01月 14日 11時 34分
my.iniの場所です
「C:\Program Files\MySQL\MySQL Server 5.0」
mySQLは再起動しました。
本日気がついたのですが、my.iniをテキストエディタで開くと
「default-character-set=cp932」となっていますが、
my.iniを右クリックの編集で確認すると
「default-character-set=latin1」
のままでした。
これは関係ありませんか?
何度もすいません。
「C:\Program Files\MySQL\MySQL Server 5.0」
mySQLは再起動しました。
本日気がついたのですが、my.iniをテキストエディタで開くと
「default-character-set=cp932」となっていますが、
my.iniを右クリックの編集で確認すると
「default-character-set=latin1」
のままでした。
これは関係ありませんか?
何度もすいません。
投稿:masayuki[masayuki]/2011年 01月 15日 00時 32分
/更新:2011年 01月 15日 00時 35分
連続ですいません。
解決できました。
どうやらmy.iniをテキストエディタで編集しても変更されないようです。
更新日時が変更されていませんでした。
また、前にも記載しましたように、右クリックで編集としても保存ができませんでした。
で、別の場所にmy.iniをcp932で作成し、ファイルを上書き保存することで、
INSERTができました。
色々とありがとうございました。
また、不明点が出てきましたらよろしくお願いいたします。
解決できました。
どうやらmy.iniをテキストエディタで編集しても変更されないようです。
更新日時が変更されていませんでした。
また、前にも記載しましたように、右クリックで編集としても保存ができませんでした。
で、別の場所にmy.iniをcp932で作成し、ファイルを上書き保存することで、
INSERTができました。
色々とありがとうございました。
また、不明点が出てきましたらよろしくお願いいたします。
投稿:masayuki[masayuki]/2011年 01月 15日 00時 57分
/更新:2011年 01月 15日 00時 57分
VISTAやWindows7はProgram Filesフォルダへの書き込みに制限があるんでしたね。
また何かあれば遠慮無くどうぞ。
また何かあれば遠慮無くどうぞ。
投稿:竹形 誠司[takegata]/2011年 01月 15日 22時 05分
/更新:2011年 01月 15日 22時 05分