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 etwas Hilfe.
sql
mysql
mysql-error-1046
steph
quelle
quelle
mysql -u root -p databasename < import.sql
Antworten:
Sie müssen MySQL mitteilen, welche Datenbank verwendet werden soll:
bevor Sie eine Tabelle erstellen.
Falls die Datenbank nicht vorhanden ist, müssen Sie sie wie folgt erstellen:
gefolgt von:
quelle
USE tablename
Befehl einfügen musste .CREATE DATABASE IF NOT EXISTS database_name ;
USE database_name;
Dies funktioniert unabhängig davon, ob die Datenbank bereits erstellt wurde oder nicht.Sie können MySQL auch mitteilen, welche Datenbank verwendet werden soll (sofern Sie diese bereits erstellt haben):
quelle
mysql example -u example_user -p < ./example.sql
stattdessen?Beim Versuch, eine zuvor erstellte Datenbank zu importieren, trat der gleiche Fehler auf. Folgendes habe ich getan, um dieses Problem zu beheben:
1- Neue Datenbank erstellen
2- Verwenden Sie es auf
use
Befehl3- Versuchen Sie es erneut
Das funktioniert bei mir.
quelle
Wenn Sie dies über die Befehlszeile versuchen ...
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:
Hier ist die Dokumentation .
Wenn Sie dies über MySQL Workbench versuchen ...
... müssen Sie die entsprechende Datenbank / den entsprechenden Katalog im Dropdown-Menü über der Registerkarte: Objektbrowser: auswählen. Sie können das Standardschema / die Standarddatenbank / den Standardkatalog für die Verbindung angeben. Klicken Sie auf die Optionen "Verbindungen verwalten" unter der Überschrift "SQL-Entwicklung" des Begrüßungsbildschirms der Workbench.
Nachtrag
Dies alles setzt voraus, dass es eine Datenbank gibt, in der Sie die Tabelle erstellen möchten. Wenn nicht, müssen Sie die Datenbank vor allem anderen erstellen:
quelle
USE database;
Befehl auch in MySQL Workbench (ich bin in Version 5.2.47) verwenden, wenn dieser Fehler auftritt. Es muss nur einmal pro Abfrage-Registerkarte ausgeführt werden - alle nachfolgenden Ausführungen auf dieser Registerkarte scheinen die Datenbank korrekt zu verwenden.Wenn Sie dies über phpMyAdmin tun:
Ich gehe davon aus, dass Sie bereits eine neue MySQL-Datenbank auf einer Live-Site erstellt haben (mit Live-Site meine ich das Unternehmen, bei dem Sie hosten (in meinem Fall Bluehost)).
Gehen Sie auf der Live-Site zu phpMyAdmin - melden Sie sich bei der gerade 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 aus (in der grauen Leiste oben steht PHP Myadmin, darunter zwei Optionen: Informationsschema und Name der Datenbank, bei der Sie sich gerade angemeldet haben.
Sobald Sie auf die Datenbank klicken, die Sie gerade erstellt / angemeldet haben, wird diese Datenbank angezeigt, und klicken Sie dann auf die Importoption.
Das hat den Trick für mich getan. Hoffe wirklich das hilft
quelle
SQL
Datei mit Notepad oder Notepad ++CREATE DATABASE NAME; USE NAME;
quelle
Wenn Sie eine Datenbank importieren, müssen Sie zuerst eine Datenbank mit demselben Namen erstellen, diese dann auswählen und dann die vorhandene Datenbank dorthin importieren.
Hoffe es funktioniert bei dir!
quelle
Für MySQL Workbench
quelle
Zitat ivan n: "Wenn Sie eine Datenbank importieren, müssen Sie zuerst eine mit demselben Namen erstellen, dann auswählen und dann die vorhandene Datenbank dorthin importieren. Ich hoffe, es funktioniert für Sie!"
Dies sind die Schritte: Erstellen Sie eine Datenbank, z. B. my_db1, utf8_general_ci. Klicken Sie dann, um in diese Datenbank zu gelangen. Klicken Sie dann auf "Importieren" und wählen Sie die Datenbank aus: my_db1.sql
Das sollte alles sein.
quelle
Wählen Sie zuerst die Datenbank aus: USE db_name
Erstellen Sie dann die Tabelle: CREATE TABLE tb_name (ID int, Name varchar (255), Gehalt int, Stadt varchar (255));
Dies für die Syntax der MySQL 5.5-Version
quelle
Seien Sie vorsichtig mit leeren Passwörtern
fragt nach einem Passwort und beschwert sich mit
mysqldump: Got error: 1046: "No database selected" when selecting the database
Das Problem ist, dass für die
-p
Option kein Leerzeichen zwischen-p
und dem Kennwort vorhanden sein muss.das Problem gelöst (Anführungszeichen werden nicht mehr benötigt).
quelle
Obwohl dies ein ziemlich alter Thread ist, habe ich gerade etwas herausgefunden. Ich habe eine neue Datenbank erstellt, dann einen Benutzer hinzugefügt und schließlich phpMyAdmin zum Hochladen der SQL-Datei verwendet. totales Versagen. Das System erkennt nicht, welche DB ich anstrebe ...
Wenn ich neu anfange, OHNE zuerst einen neuen Benutzer anzuhängen und dann denselben phpMyAdmin-Import durchzuführen, funktioniert dies einwandfrei.
quelle
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 angezeigt. Melden Sie sich bei cPanel ab, melden Sie sich wieder an, öffnen Sie PHPMyAdmin, und es sollte jetzt vorhanden sein.
quelle
Als zusätzliche Sicherheit können Sie bei der Arbeit mit mehreren DBs im selben Skript die DB in der Abfrage angeben, z. B. "create table my_awesome_db.really_cool_table ...".
quelle
Ich bin spät dran, denke ich:] soory,
Wenn Sie wie ich hier sind und nach der Lösung suchen, wenn dieser Fehler mit
mysqldump
anstelle von MySQL auftritt , probieren Sie diese Lösung aus, die ich zufällig auf einer deutschen Website gefunden habe. Deshalb wollte ich sie mit Obdachlosen teilen, die Kopfschmerzen wie ich haben.Das Problem tritt also auf, weil der
-databases
Parameter vor dem Datenbanknamen fehltIhr Befehl muss also so aussehen:
Eine andere Ursache für das Problem in meinem Fall war, dass ich mich auf lokaler Ebene entwickle und der
root
Benutzer kein Passwort hat. In diesem Fall müssen Sie--password=
stattdessen verwenden-pdbpass
, also war mein letzter Befehl:Link zum vollständigen Thread: https://marius.bloggt-in-braunschweig.de/2016/04/29/solution-mysqldump-no-database-selected-when-selecting-the-database/
quelle
jst eine neue DB in mysql.Select schaffen , dass neue DB (wenn Sie jetzt auf der Oberseite mit MySQL phpmyadmin r wie ‚Server sein it'l:. . . . * >> Datenbank) zu importieren Registerkarte gehen .Now file.Import wählen !
quelle