dポイントプレゼントキャンペーン実施中!

環境はMYSQL 5.0です。

既存のテーブルでたとえば
****************************
○Aテーブル
 No INT(5)
 Name VARCHAR(5)
****************************

上記のようなテーブルが存在しており、そこに
MySQL Query Browserなどのツールを使用し
追加でMEDIUMBLOB型の項目を追加しました。

****************************
○変更後Aテーブル
 No INT(5)
 Name VARCHAR(5)
 Image MEDIUMBLOB
****************************

その後、PG(VB2008)よりjpg画像ファイル登録するため
INSERTするとエラーが発生してしまいます。
エラー内容は
「ERROR 1064: You have an error in your SQL syntax. Check the manual that corresp
onds to your MySQL server version for the right syntax to use near (ここは文字化け) at line 1」

といった感じです。
INSERT実行自体には問題がないため、
一度MYSQL5.0をアンインストール、再インストール後に初めからBLOB型を含んだAテーブルCREATEを行い
再度同じようにPG実行でINSERTによるjpg画像の登録を行ったら
正常登録されました。

このことよりおそらくMYSQLの既存のデータサイズ設定?に問題が
あるのかなぁと思っています。

そこで質問なのですが、MYSQLのアンインストールなど行わずに
既存のままテーブルにBLOB型を追加し、データサイズ(Data Length?)を変更する方法をご存じの方いらっしゃいますでしょうか?
また、原因自体違う!というのがありましたらご指摘いただきたいです。

複数の場所でこのBLOB追加作業が必要になってきており、困っております。
よろしくお願いいたします。

A 回答 (1件)

>環境はMYSQL 5.0です。



MySQL 5.0の後の番号(MySQL 5.0.xxのxx)は、何でしょうか?

>追加でMEDIUMBLOB型の項目を追加しました。

MySQLは、列の追加位置を指定できますが、一番最後に追加したのでしょうか?

>「ERROR 1064: You have an error in your SQL syntax. Check the
~中略~
>といった感じです。
>INSERT実行自体には問題がないため、

発生したエラーは、SQLの構文エラーと言われています。
「INSERT実行自体には問題がない」とは、どういう意味でしょうか?

>一度MYSQL5.0をアンインストール、再インストール後に初めからBLOB型を
>含んだAテーブルCREATEを行い
>再度同じようにPG実行でINSERTによるjpg画像の登録を行った

なぜ、アンインストール&再インストールをすることにしたのでしょうか?そういった作業が必要と思わせる、何らかのメッセージやマニュアル記述があったのでしょうか?

再インストールの前後で、MySQLの設定は、何か違っているのでしょうか?

提示された内容からだけでは、どこまでが事実確認できていて、どの部分が推測or試行錯誤の中で結果的に解決したのか、といったことが判断できません。

この回答への補足

バージョンはMySQL 5.0.22 -community-nt via TCP/IP
です。

>MySQLは、列の追加位置を指定できますが、一番最後に追加したのでしょうか?
そうです。列の最後です。

>発生したエラーは、SQLの構文エラーと言われています。
「INSERT実行自体には問題がない」とは、どういう意味でしょうか?

例でいうAテーブルへINSERT実行は正常にできたという意味です。
(BLOB追加前)

>なぜ、アンインストール&再インストールをすることにしたのでしょうか?
エラーメッセージを元に、サイトである程度原因を探しましたが
特に特定できるものはなく、そのなかで再インストールしたら
できたというものがありましたので試してみました。

>再インストールの前後で、MySQLの設定は、何か違っているのでしょうか?
記載のとおり、BLOB型項目を追加したことが違っているだけで他は何も変えていません。

流れでいうと
(1)AテーブルへデータのINSERT正常登録(BLOB追加前)
(2)テーブルへ画像ファイルを登録したいため、
 AテーブルへBLOB項目追加
(3)PGで画像のDB登録処理を追加し、実行した際エラー
(4)エラーをもとに原因調査したが特定できず
 テーブルのバックアップ(BLOB入り)をとった後MySQLアンインストール
(5)MySQLを再インストールし、バックアップデータを復元
(6) 再度(3)のPGを実行したら正常登録

という流れです。
再インストールにより上手くいっただけで確かなえらーの原因が特定できていません。

ですので、今回BLOB追加により何か他に設定が必要なのかどうかを
知りたいと思っております。
よろしくお願いします。

補足日時:2009/06/13 16:04
    • good
    • 0

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

関連するカテゴリからQ&Aを探す