webentwicklung-frage-antwort-db.com.de

Fehler 1046 Keine Datenbank ausgewählt. Wie wird das Problem gelöst?

Fehler SQL-Abfrage: 

--
-- 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 sagte: 

#1046 - No database selected

brauche hier Hilfe.

237
steph

Sie müssen MySQL mitteilen, welche Datenbank verwendet werden soll:

USE database_name;

bevor Sie eine Tabelle erstellen.

Falls die Datenbank nicht vorhanden ist, müssen Sie sie wie folgt erstellen:

CREATE DATABASE database_name;

gefolgt von: 

USE database_name;
349
codaddict

Sie können MySQL auch mitteilen, welche Datenbank verwendet werden soll (sofern Sie diese bereits erstellt haben):

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

Wenn Sie versuchen, dies über die Befehlszeile zu tun ...

Wenn Sie versuchen, die Anweisung CREATE TABLE über die Befehlszeilenschnittstelle auszuführen, müssen Sie die Datenbank angeben, in der Sie arbeiten, bevor Sie die Abfrage ausführen:

USE your_database;

Hier ist die Dokumentation .

Wenn Sie versuchen, dies über MySQL Workbench zu tun ...

... müssen Sie im Dropdown-Menü über der Registerkarte: Object Browser: die entsprechende Datenbank/den entsprechenden Katalog auswählen. Sie können das Standardschema/die Datenbank/den Katalog für die Verbindung angeben. Klicken Sie auf die Optionen "Verbindungen verwalten" unter der Überschrift SQL-Entwicklung des Workbench-Begrüßungsfensters.

Nachtrag

Dies alles setzt voraus, dass es eine Datenbank gibt, in der Sie die Tabelle erstellen möchten. Andernfalls müssen Sie die Datenbank vor allem anderen erstellen:

CREATE DATABASE your_database;
27
OMG Ponies

Beim Versuch, eine zuvor erstellte Datenbank zu importieren, trat der gleiche Fehler auf. So habe ich dieses Problem behoben:

1- Erstellen Sie eine neue Datenbank 

2- Verwenden Sie es mit dem Befehl use

 enter image description here

3- Versuchen Sie es erneut 

Das funktioniert für mich.

27
Mina Fawzy

Wenn Sie dies über phpMyAdmin tun:

  • Ich gehe davon aus, dass Sie bereits eine neue MySQL-Datenbank auf der Live-Site erstellt haben (mit Live-Site meine ich das Unternehmen, mit dem Ihr Hosting betrieben wird (in meinem Fall Bluehost)).

  • Gehen Sie zu phpMyAdmin auf der Live-Site. Melden Sie sich bei der soeben erstellten Datenbank an.

  • Jetzt WICHTIG! Bevor Sie auf die Option "Importieren" in der oberen Leiste klicken, wählen Sie Ihre Datenbank auf der linken Seite der Seite aus (graue Leiste oben [MySQL]] PHP). Darunter befinden sich zwei Optionen: information_schema und der Name der Datenbank eingeloggt in.

  • sobald Sie auf die gerade erstellte/angemeldete Datenbank klicken, wird diese Datenbank angezeigt, und klicken Sie auf die Importoption. 

Das hat den Trick für mich gemacht. Ich hoffe wirklich, dass das hilft

17
Roanna
  • Bearbeiten Sie Ihre SQL-Datei mit Notepad oder Notepad ++
  • füge die folgende 2 Zeile hinzu:

CREATE DATABASE NAME; USE NAME;

12
Ayham AlKawi

Wenn Sie eine Datenbank importieren, müssen Sie zuerst eine mit demselben Namen erstellen, diese auswählen und dann die vorhandene Datenbank IMPORTIEREN.

Ich hoffe es funktioniert für Sie!

7
ivan n

quoting ivan n: "Wenn Sie eine Datenbank importieren, müssen Sie zuerst eine mit demselben Namen erstellen, diese auswählen und dann die vorhandene Datenbank IMPORTIEREN . Ich hoffe, es funktioniert für Sie!"

Dies sind die Schritte: Erstellen Sie eine Datenbank, zum Beispiel my_db1, utf8_general_ci . Klicken Sie dann auf, um diese Datenbank zu öffnen . Klicken Sie anschließend auf "importieren" und wählen Sie die Datenbank aus: my_db1.sql

Das sollte alles sein.

2
iversoncru

wählen Sie zuerst die Datenbank aus: USE Datenbankname

dann erstellen Sie eine Tabelle: CREATE TABLE tb_name ( id int, name varchar (255), salary int, city varchar (255) );

dies für MySQL 5.5-Versionssyntax

1
veeru666

Für MySQL Workbench

  1. Wählen Sie die Datenbank auf der Registerkarte Schemata aus, indem Sie mit der rechten Maustaste klicken.
  2. Legen Sie die Datenbank als Standardschema fest

 enter image description here

1
Eric Korolev

Obwohl dies ein ziemlich alter Thread ist, habe ich gerade etwas herausgefunden. Ich erstellte eine neue Datenbank, fügte dann einen Benutzer hinzu und nutzte schließlich phpMyAdmin, um die .sql-Datei hochzuladen. totales Versagen. Das System erkennt nicht, welche Datenbank ich anstrebe ... 

Wenn ich neu anfange, OHNE zuerst einen neuen Benutzer anzufügen und dann den gleichen phpMyAdmin-Import durchführen, funktioniert es einwandfrei. 

0
zipzit

Für ein zusätzliches Sicherheitselement können Sie beim Arbeiten mit mehreren DBs in demselben Skript die DB in der Abfrage angeben, z. msgstr "Tabelle my_awesome_db.really_cool_table erstellen ...".

0

seien Sie vorsichtig mit leeren Passwörtern

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

werde nach einem Passwort fragen und mich mit mysqldump: Got error: 1046: "No database selected" when selecting the database beschweren

das Problem ist, dass für die Option -p kein Leerzeichen zwischen -p und dem Kennwort erforderlich ist.

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

problem behoben (Zitate werden nicht mehr benötigt).

0
user3338098

Ich wollte nur hinzufügen: Wenn Sie eine Datenbank in mySQL auf einer Live-Site erstellen, gehen Sie zu PHPMyAdmin und die Datenbank wird nicht abgemeldet. Melden Sie sich dann erneut an, öffnen Sie PHPMyAdmin, und es sollte jetzt vorhanden sein.

0
the10thplanet

Ich bin spät, denke ich:] Soory, 

Wenn Sie hier wie ich auf der Suche nach der Lösung sind, wenn dieser Fehler mit mysqldump anstelle von mysql auftritt, probieren Sie diese Lösung, die ich zufällig auf einer deutschen Website gefunden habe. Ich wollte sie mit Obdachlosen teilen, die Kopfschmerzen wie ich haben.

Das Problem tritt also auf, weil der -databases-Parameter vor dem Datenbanknamen fehlt

Ihr Befehl muss also so aussehen:

mysqldump -pdbpass -udbuser --databases dbname

Eine andere Ursache des Problems in meinem Fall war, dass ich auf local entwickle und der root-Benutzer kein Kennwort hat. In diesem Fall müssen Sie --password= anstelle von -pdbpass verwenden.

mysqldump -udbuser --password= --databases dbname

Link zum vollständigen Thread: https://marius.cost-in-braunschweig.de/2016/04/29/solution-mysqldump-no-database-selected-when-auswahl-the-database/

0
MoolsBytheway