Rascal0910
@Rascal0910

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

herokuのエラー (初心者です)

解決したいこと

herokuのデプロイをする際にエラーが出てしまっています。

xamppを使ってVScodeでプログラミングをしており、初めてデプロイをするプログラミング初学者です。
こちらのサイトを参考に進めています。 https://lacublog.com/php-heroku
WorkbenchでphpMyadminにあるデータベースをエクスポートする際にエラーが出てしまいます。

発生している問題・エラー

ERROR 1050 (42S01) at line 30: Table 'comment' already exists

phpMyAdminの画像です
Screenshot 2022-11-07 5.01.14.png

Screenshot 2022-11-07 2.12.05.png

自分で試したこと

commentテーブルの30行目が既に存在していると書いてあったため、データベースのid30を消しましたがエラーのままでした。

※今回作っているのは6chan-bbsというデータベースです。
テーブルはcommentとthreadの二種類のみです。

0

3Answer

ERROR 1050 (42S01) at line 30: Table 'comment' already exists

line 30 はおそらくクエリの行であって,テーブルの行ではありません(ちなみにテーブルの行はレコード)。
コロン(:)のあとのエラーを落ち着いて訳してみると

'comment' テーブルはすでに存在しています

ですので,存在しているテーブルに対して CREATE TABLE 6chan-bbs.comment (以下省略) などされているのではないでしょうか。

2Like

Comments

  1. @Rascal0910

    Questioner

    ご回答いただきありがとうございます。6chan-bbsの構造を見てみるとテーブルは"comment"テーブルと"thread"テーブルしか存在しません。"comment"テーブルが二つあることが確認できないのですが、どういった対処が必要ですか?
    追加情報が必要であれば画像を追加いたします。
  2. すみません,もしかすると誤解を招いてしまったかもしれないですが,「すでに存在するテーブル名('comment')と同じ名前のテーブルを作成しようとしている」ためにエラーが出てしまっています。

    ---

    その上でお聞きしたいのですが,phpMyAdminからデータをエクスポートした際にエラーが出てしまっているということですか?それともWorkbenchにインポートする際にエラーが出ているということですか?
  3. @Rascal0910

    Questioner

    ご返事ありがとうございます。説明不足で申し訳ありません。Workbenchにインポートする際にエラーが出てしまっています。
  4. herokuに接続しているWorkbenchへインポートする際にエラーが発生しているのであれば,herokuのデータベース(接続しているWorkbenchからわかる)のほうが重要そうです。

    herokuの方には'6chan-bbs'データベースや,さらにその中に'comment', 'thread'テーブルはありますでしょうか。
    ちなみにデータベースを確認するには,Workbenchの`Schemas`から,
    テーブルを確認するには,`Schemas`の対象のデータベースで右クリック→`Schema Inspector`→`Tables`タブで見ることができます。
  5. @Rascal0910

    Questioner

    Workbench の'Schema Inspqctor'を押したらアクセスエラーとなってしまいました。エラーの内容は、「Userテーブルのユーザー、dbテーブルのユーザーに対するSELECTコマンドが拒否されました。現在のユーザーは実行するために十分な権限がありません。」ということでした...
    これはphpmyadminで権限の変更が必要なのでしょうか。
  6. @Rascal0910

    Questioner

    新しく画像を追加しました。ユーザ名”すべて”、ホスト名”localhost”のアカウントの権限を変更し、SELECTの権限のみ付与すれば良いのでしょうか。見当違いでしたら申し訳ありません。
  7. phpMyAdminは移行前の環境,Workbenchは移行先の(heroku)の環境であってますよね?
    それでしたら,権限不足になっているのはWorkbenchで接続しているユーザーの方です。
    手元に環境がないのでなんとも言えませんが,Workbenchでログインしているユーザーの権限が不足しているので,それよりも強いユーザー(rootなど)でログインする必要があると思われます。
  8. もちろんrootでなくても良いですが,最低限SELECTできるようなユーザーでログイン,または利用したいユーザーに権限付与してください。

Your answer might help someone💌