- ベストアンサー
MySQLにおいてバッチ処理でデータベースを構築する際のトラブル
- MySQLにおいてバッチ処理でデータベースを構築する際に生じるエラーの解消方法を教えてください。
- バッチ処理でデータベースを構築する際に発生するエラーコード1005 (HY000)について教えてください。
- 同一ファイル内に同じ名前のファイルはなく、他のデータベースにも存在しないにも関わらずエラーコード121が発生している場合、エラーの解消方法を教えてください。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
>); 全角のセミコロンになっていませんか? あやしければ\gでやってみてください。
その他の回答 (5)
- yambejp
- ベストアンサー率51% (3827/7415)
> Column count doesn't match バージョンや状況によって若干フィールドの数がちがうようですね。 INSERT INTO `user`(`Host`,`User`,`Password`) VALUES ( 'localhost', 'hoge', PASSWORD( 'hogehoge' ) ) してから、必要な権限をlocalのhogeに対して付加してください。
お礼
解答ありがとうございます。 rootでデータベースに入ってから、 INSERT INTO `user`(`Host`,`User`,`Password`) VALUES ( 'localhost', 'hoge', PASSWORD( 'hogehoge' ) ); 以上を入力したんですが、エラーが出ます。以下エラー文です。 ERROR 1064 (42000): You have an error in syntax: check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSER T INTO `user`(`Host`,`User`,`Password`) VALUES ( 'localhost','hoge',PASSW' at line 4
- yambejp
- ベストアンサー率51% (3827/7415)
手順 mysql -u root -p からログイン use mysql INSERT INTO `user` VALUES ( 'localhost', 'hoge', PASSWORD( 'hogehoge' ) , 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '0', '0', '0', '0' ) \g flush privileges \g みたいな感じで・・・
お礼
解答ありがとうございます。 INSERT INTO `user` VALUES ( 'localhost', 'hoge', PASSWORD( 'hogehoge' ) , 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '0', '0', '0', '0' ) \g が入りません。エラーの文章は以下です。 ERROR 1136 (21S01): Column count doesn't match value count at row 1
- yambejp
- ベストアンサー率51% (3827/7415)
もしそうであれば、localhostからrootでアクセスする権限が ないように見受けられます。 コンソールからrootでアクセスできますか? mysql -u root -p で、ログインできますか? もしできないなら逆にどういうログインならできるのでしょうか? ログインできるならmysqlデータベースのuserテーブルに Host=localhostのUser=rootの設定をしてみてください
お礼
mysql -u root -p からのログインは出来ます。 すみません、この文章の意味がよくわからないのですが・・・。 「ログインできるならmysqlデータベースのuserテーブルに Host=localhostのUser=rootの設定をしてみてください」
- yambejp
- ベストアンサー率51% (3827/7415)
>-pを抜く いえ、-pの後ろのスペースです。 mysql -u root -pSampleDB040 < "C:\mysql\data\sampledb040\ファイル名.sql" という感じ?
お礼
解答ありがとうございます。 前回のお礼の際のコメントが間違っていました。すみません。 -pを抜いたのではなくて、-pの後ろのスペースを抜いて試しました。 それで、以下のような文が出てきました。 ERROR 1045 (28000): Access denied for user 'root'@'localhost'(using password: YES)
- yambejp
- ベストアンサー率51% (3827/7415)
-pの後ろのスペースを抜いてみてはどうでしょう?
お礼
解答ありがとうございます。 -pを抜くと、エラーが出ました。 以下のような文でした。 ERROR 1045 (28000): Access denied for user 'root'@'localhost'(using password: YES)
お礼
解答ありがとうございます。 全角になってたみたいです。\gでうまくいったように思います。 ですが、さらにエラーが出ました。データベースには入っています。 ERROR 1146 (42S02): Table 'sample040.user' doesn't exist