Erreur 1046 Pas de base de données Sélectionné, comment le résoudre?
Erreur
Requête 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 a dit:
#1046 - No database selected
besoin d'un peu d'aide ici.
- Dans le cas où quelqu'un est intéressé, vous pouvez également spécifier le nom de base de données via l'interface CLI de commande, sans avoir à éditer le fichier d'importation.
mysql -u root -p databasename < import.sql
- ce qui m'est arrivé était de: créer un schéma, renseigné le nom de la base de données, puis il dit: "l'échec, pas de base de données sélectionné". rouvrir workbench, je vois de la base de données que j'ai juste pas réussi à créer. Puis-je choisir la base de données que je viens de créer, et d'en ouvrir un .sql fichier et de l'exécuter, avec à la fois de créer la base de données et l'utilisation de la base de données des déclarations, il se plaint de "l'échec pas de base de données sélectionné" à nouveau. rouvrir workbench, les tables sont toutes construites. Système MAC, workbench 6.3.3
Vous devez vous connecter pour publier un commentaire.
Vous devez dire à MySQL base de données à utiliser:
avant de créer une table.
Dans le cas où la base de données n'existe pas, vous devez créer:
suivie par:
USE tablename
de commande.CREATE DATABASE IF NOT EXISTS database_name ;
USE database_name;
Cela fonctionne si la base de données est déjà créé ou non.Vous pouvez aussi dire à MySQL de la base de données à utiliser (si vous l'avez déjà créé):
mysql example -u example_user -p < ./example.sql
à la place?J'ai fait face à la même erreur quand j'ai essayé d'importer une base de données créée à partir d'avant. Voici ce que j'ai fait pour résoudre ce problème:
1 - Créer une nouvelle base de données
2 - Utiliser par
use
commande3 - Essayer de nouveau
Cela fonctionne pour moi.
Si vous essayez de le faire via la ligne de commande...
Si vous essayez d'exécuter l'instruction CREATE TABLE à partir de l'interface de ligne de commande, vous devez spécifier la base de données vous travaillez en avant l'exécution de la requête:
Voici la documentation.
Si vous essayez de le faire via MySQL Workbench...
...vous devez sélectionner la base de données/catalogue dans le menu déroulant situé au-dessus du :explorateur d'Objets: onglet. Vous pouvez spécifier la valeur par défaut de schéma de base de données//catalogue pour la connexion, cliquez sur "Gérer les Connexions" options sous SQL Développement intitulé de l'atelier de l'écran de démarrage.
Additif
Ce tous assume qu'il y a une base de données que vous voulez créer une table à l'intérieur de l' - si non, vous devez créer la base de données avant toute autre chose:
USE database;
de commande, même dans MySQL Workbench (je suis en v5.2.47) si vous obtenez cette erreur. Suffit de le lancer une fois par la requête de l'onglet toutes les exécutions suivantes sur cet onglet, semblent l'utiliser correctement la base de données.Si vous le faites par le biais de phpMyAdmin:
Je suis en supposant que vous avez déjà Créé une nouvelle Base de données MySQL sur le Site en Direct (en live site je veux dire la société de votre hébergement (dans mon cas, Bluehost)).
Aller à phpMyAdmin sur le site en ligne - connectez vous à la base de données que vous venez de créer.
Maintenant IMPORTANT! Avant de cliquer sur "import" en option sur la barre du haut, sélectionnez votre base de données sur le côté gauche de la page (barre grise en haut a PHP Myadmin écrit, en dessous de deux options:information_schema et le nom de la base de données que vous venez de connecté à.
une fois que vous cliquez sur la base de données que vous venez de créer/connecté, il va vous montrer que la base de données et puis cliquez sur l'option d'importation.
Qui a fait le tour pour moi. Vraiment espoir qui aide
SQL
fichier à l'aide de le bloc-notes ou Notepad++CREATE DATABASE NAME;
USE NAME;
Si l'importation d'une base de données, vous devez d'abord en créer une avec le même nom, puis sélectionnez-le, puis IMPORTER la base de données existante à elle.
Espère que cela fonctionne pour vous!
Pour MySQL Workbench
citant ivan n :
"Si l'importation d'une base de données, vous devez d'abord en créer une avec le même nom, puis sélectionnez-le, puis IMPORTER la base de données existante à elle.
Espérons que cela fonctionne pour vous!"
Voici les étapes:
Créer une Base de données, par exemple my_db1, utf8_general_ci.
Puis cliquez sur aller à l'intérieur de cette base de données.
Puis cliquez sur "importer" et sélectionnez la base de données: my_db1.sql
Qui devrait être tout.
sélectionnez d'abord la base de données : UTILISATION db_name
puis créer une table:CREATE TABLE tb_name
(
id de type int,
nom varchar(255),
salaire int,
ville varchar(255)
);
ce pour mysql 5.5 version de syntaxe
Bien que c'est un assez vieux thread, je viens de trouver quelque chose. J'ai créé une nouvelle base de données, puis ajout d'un utilisateur, et finalement allé à utiliser phpMyAdmin pour télécharger l' .fichier sql. l'échec total. Le système ne reconnaît pas qui DB je vise...
Quand j'ai recommencer à zéro, SANS d'abord se fixer un nouvel utilisateur, puis effectuer la même phpMyAdmin importation, il fonctionne très bien.
Voulais juste ajouter: Si vous créez une base de données mySQL sur un site en ligne, puis allez dans PHPMyAdmin et la base de données n'apparaît pas - de déconnexion de cPanel puis reconnectez-vous, ouvrez PHPMyAdmin, et il devrait être là maintenant.
Pour un élément de sécurité, lorsque vous travaillez avec plusieurs DBs dans le même script, vous pouvez spécifier la DB dans la requête, par exemple "create table my_awesome_db.really_cool_table...".
Je suis en retard je pense :] soory,
Si vous êtes ici, comme moi à la recherche de la solution lorsque cette erreur se produit avec
mysqldump
au lieu de mysql, essayez cette solution que j'ai trouvé sur un site allemand là par hasard, donc je voulais la partager avec les personnes sans abri qui ont eu des maux de tête comme moi.De sorte que le problème se produit parce que le manque
-databases
paramètre avant le nom de la baseVotre commande doit ressembler à ceci:
Un autre causer de le problème dans mon cas est que je suis de développement local et de la
root
utilisateur ne dispose pas d'un mot de passe, dans ce cas, vous devez utiliser--password=
au lieu de-pdbpass
, ma dernière commande était:Lien vers le fil complet (en allemand) : https://marius.bloggt-in-braunschweig.de/2016/04/29/solution-mysqldump-no-database-selected-when-selecting-the-database/
être prudent sur les mots de passe vides
demandera un mot de passe et de se plaindre, avec
mysqldump: Got error: 1046: "No database selected" when selecting the database
le problème est que le
-p
option exige qu'il n'y ait pas d'espace entre-p
et le mot de passe.résolu le problème (les guillemets ne sont plus nécessaires).
jst créer une nouvelle DB mysql.Sélectionnez cette nouvelle bd.(si vous r à l'aide de mysql phpmyadmin maintenant sur le sommet il l être comme " Server:...* >> Base de données ).Maintenant, allez à l'onglet importer, sélectionnez le fichier.Importation de!