web-dev-qa-db-ja.com

エラー1046データベースが選択されていません、解決方法は?

エラーSQLクエリ:

--
-- Database: `work`
--
-- --------------------------------------------------------
--
-- Table structure for table `administrators`
--
CREATE TABLE IF NOT EXISTS `administrators` (

`user_id` varchar( 30 ) NOT NULL ,
`password` varchar( 30 ) NOT NULL ) ENGINE = InnoDB DEFAULT CHARSET = latin1;

MySQLは言った:

#1046 - No database selected

ここでいくつかの助けが必要です。

246
steph

使用するデータベースをMySQLに指示する必要があります。

USE database_name;

テーブルを作成する前に.

データベースが存在しない場合は、次のように作成する必要があります。

CREATE DATABASE database_name;

に続く:

USE database_name;
356
codaddict

MySQLに使用するデータベースを指定することもできます(すでに作成済みの場合)

 mysql -u example_user -p --database=example < ./example.sql
43
Shay Anderson

以前に作成したデータベースをインポートしようとしたときに同じエラーが発生しました。これは私がこの問題を解決するためにしたことです:

1-新しいデータベースを作成する

2- useコマンドで使用

enter image description here

3-もう一度やり直してください

これは私のために働きます。

29
Mina Fawzy

あなたがコマンドラインを介してこれをやろうとしているなら...

コマンドラインインターフェイスからCREATE TABLEステートメントを実行しようとしている場合は、クエリを実行する前に作業中のデータベースを指定する必要があります。

USE your_database;

これが ドキュメント です。

MySQL Workbenchでこれをやろうとしているのであれば...

...:Object Browser:タブの上にあるドロップダウンメニューから適切なデータベース/カタログを選択する必要があります。接続のデフォルトのスキーマ/データベース/カタログを指定できます。ワークベンチのスプラッシュ画面の[SQL Development]見出しの下にある[Manage Connections]オプションをクリックします。

補遺

これはすべて、内部にテーブルを作成したいデータベースがあると仮定しています。そうでない場合は、他のものよりも先にデータベースを作成する必要があります。

CREATE DATABASE your_database;
27
OMG Ponies

PhpMyAdminでこれをやっているなら:

  • 私はあなたがすでにライブサイト上に新しいMySQLデータベースを作成していると仮定しています(ライブサイトとは私があなたのホスティングをしている会社を意味します(私の場合はBluehost))。

  • 本番サイトのphpMyAdminにアクセスし、作成したデータベースにログインします。

  • 今重要!トップバーの[インポート]オプションをクリックする前に、ページ左側のデータベースを選択してください(上のグレーのバー、PHP Myadmin、その下に2つのオプションがあります:information_schemaとデータベース名)。あなたはログインしたばかりです。

  • 作成した/ログインしたばかりのデータベースをクリックすると、そのデータベースが表示されます。次にインポートオプションをクリックします。

それは私にとってトリックでした。本当に役立つことを願っています

18
Roanna
  • Notepad または Notepad ++ を使用してSQLファイルを編集します。
  • 次の2行を追加してください。

CREATE DATABASE NAME; USE NAME;

12
Ayham AlKawi

データベースをインポートする場合は、最初に同じ名前でデータベースを作成し、それを選択してから既存のデータベースをインポートする必要があります。

それがあなたのために働くことを願っています!

8
ivan n

ivan n: "データベースをインポートする場合は、まず同じ名前のデータベースを作成してからそれを選択し、次に既存のデータベースをそれにインポートする必要があります。それがうまくいくことを願っています!"

手順は次のとおりです。データベースを作成します(たとえば、my_db1、utf8_general_ci)。次にクリックしてこのデータベースの中に入ります。次に「インポート」をクリックしてデータベースを選択します。my_db1.sql

それがすべてです。

2
iversoncru

最初にデータベースを選択します。USE db_name

その後、テーブルを作成します。CREATE TABLE tb_name(ID int、name varchar(255)、給与int、city varchar(255))

これはmysql 5.5バージョンの構文です

1
veeru666

MySQL Workbenchの場合

  1. [Schemas]タブからデータベースを右クリックして選択します。
  2. データベースをデフォルトスキーマとして設定

enter image description here

1
Eric Korolev

これはかなり古いスレッドですが、私はただ何か見つけました。私は新しいデータベースを作成し、それからユーザーを追加し、そしてついにphpMyAdminを使って.sqlファイルをアップロードしました。完全な失敗システムは、私が目指しているDBを認識しません...

最初に新しいユーザーをアタッチせずにフレッシュに始めてから、同じphpMyAdminインポートを実行すると、うまくいきます。

0
zipzit

安全性を高めるために、同じスクリプトで複数のDBを扱う場合は、クエリでDBを指定できます。 msgstr "テーブルmy_awesome_db.really_cool_tableを作成してください..."#:。

0

空のパスワードには注意してください

mysqldump [options] -p '' --databases database_name

パスワードを要求し、mysqldump: Got error: 1046: "No database selected" when selecting the databaseで文句を言う

問題は、-pオプションが-pとパスワードの間にスペースがないことを要求することです。

mysqldump [options] -p'' --databases database_name

問題を解決しました(引用符はもう必要ありません)。

0
user3338098

追加したいだけです。ライブサイトでmySQLにデータベースを作成しても、PHPMyAdminに移動してもデータベースが表示されない - cPanelからログアウトしてログインし直し、PHPMyAdminを開くと、そこに表示されるはずです。

0
the10thplanet

私は遅くなったと思う:] soory、

Mysqlではなくmysqldumpでこのエラーが発生したときに解決策を探しているような場合は、ドイツのWebサイトで偶然見つけたこの解決策を試してみてください。私のような。

そのため、データベース名の前に-databasesパラメーターがないために問題が発生します

したがって、コマンドは次のようになります。

mysqldump -pdbpass -udbuser --databases dbname

私の場合の問題の別の原因は、ローカルで開発しており、rootユーザーにパスワードがないため、この場合は--password=の代わりに-pdbpassを使用する必要があることです。 、したがって、私の最後のコマンドは次のとおりでした:

mysqldump -udbuser --password= --databases dbname

完全なスレッドへのリンク(ドイツ語): https://marius.bloggt-in-braunschweig.de/2016/04/29/solution-mysqldump-no-database-selected-when-selecting-the-データベース/

0
MoolsBytheway