MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLエラー1046「No database selected」の原因と解決方法を徹底解説

MySQLで作業中に「ERROR 1046 (3D000): No database selected」というエラーに遭遇したことはありませんか?このエラーは、テーブルを作成したりデータを挿入したりする際に、操作対象となるデータベースが選択されていない場合に発生します。

エラー1046が発生する仕組み

MySQLでは、テーブルの作成やデータの操作を行う前に、どのデータベースに対して作業するのかを明示的に指定する必要があります。データベースを選択せずにこれらの操作を実行すると、サーバーは処理先を判断できず、エラー1046を返します。

実際に、データベースを選択しないままテーブルを作成しようとすると、以下のようなエラーが表示されます。

mysql> CREATE table MyTable1
   -> (
   -> id int
   -> );
ERROR 1046 (3D000): No database selected

同様に、INSERT文でも同じエラーが発生します。

mysql> INSERT into sample values(1);
ERROR 1046 (3D000): No database selected

このように、どちらの場合も「No database selected(データベースが選択されていません)」という同一のエラーメッセージが出力されます。

USEコマンドでエラーを解決する方法

この問題は非常に簡単に解決できます。USEコマンドを使って、作業したいデータベースを選択するだけです。ここでは例として「business」という名前のデータベースを選択してみましょう。

mysql> USE business;
Database changed

「Database changed」と表示されれば、データベースの選択は成功です。その後であれば、先ほど失敗したテーブル作成も問題なく実行できます。

mysql> CREATE table MyTable1
   -> (
   -> id int
   -> );
Query OK, 0 rows affected (0.49 sec)

今度は「Query OK」と表示され、テーブルが正常に作成されました。

テーブルが正しく作成されたか確認する

最後に、「business」データベース内にテーブルが存在するかどうかを確認しましょう。以下のクエリを実行します。

mysql> SHOW tables like '%MyTable1%';

実行結果は以下の通りです。

+---------------------------------+
| Tables_in_business (%MyTable1%) |
+---------------------------------+
| mytable1                        |
+---------------------------------+
1 row in set (0.05 sec)

テーブルが正しく作成されていることが確認できました。

まとめ:エラー1046を防ぐポイント

  • テーブル作成やデータ操作の前に、必ずUSE データベース名;でデータベースを選択する習慣をつける。
  • 現在選択中のデータベースを確認したい場合は、SELECT DATABASE();を実行すると便利です。
  • 接続時にあらかじめデータベースを指定するには、コマンドラインからmysql -u ユーザー名 -p データベース名のようにログインする方法もあります。

エラー1046は初心者がよくつまずくポイントですが、原因と対策さえ理解していれば瞬時に解決できます。作業前にデータベースの選択状況を確認するクセをつけておきましょう。

  1. 404 Not Foundエラーの解決方法|原因と7つの対処法をわかりやすく解説

    インターネットを利用していると、誰もが一度はエラーメッセージに遭遇したことがあるでしょう。よく見られるものには「502 Bad Gateway Error」「Aw Snap! Error」「ERR_SSL_PROTOCOL_ERROR」、そして「404 Not Found Error」などがあります。中でも404エラーは特によく目にするもので、Webページを読み込もうとした際に、目的のページではなくこのエラー画面が表示されてしまうという現象です。 ページ自体が存在しない、サイト運営者が削除・移動したといった理由で発生することもありますが、必ずしもそうとは限りません。実はユーザー側の環境に起因す

  2. Windows Update エラー 0x800700a1 の解決方法を徹底解説

    Windows OS の更新は重要な作業であり、後回しにすべきものではありません。しかし一部のユーザーからは、OS を更新しようとした際に「0x800700a1」という Windows Update エラーが発生するという報告があります。このエラーには特定の原因が明記されていませんが、複数の更新プログラムが保留されている、Windows Update サービスが無効になっている、システムファイルが破損しているといった要因が考えられます。本記事では、0x800700a1 エラーを解消するための効果的な対処法を詳しくご紹介します。 0x800700a1 Windows Update エラーの解決方