Erreur de 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 déclaré:
#1046 - No database selected
besoin d'aide ici.
sql
mysql
mysql-error-1046
steph
la source
la source
mysql -u root -p databasename < import.sql
Réponses:
Vous devez indiquer à MySQL quelle base de données utiliser:
avant de créer une table.
Si la base de données n'existe pas, vous devez la créer en tant que:
suivi par:
la source
USE tablename
commande.CREATE DATABASE IF NOT EXISTS database_name ;
USE database_name;
cela fonctionne que la base de données soit déjà créée ou non.Vous pouvez également indiquer à MySQL quelle base de données utiliser (si vous l'avez déjà créée):
la source
mysql example -u example_user -p < ./example.sql
place?J'ai rencontré la même erreur lorsque j'ai essayé d'importer une base de données créée auparavant. Voici ce que j'ai fait pour résoudre ce problème:
1- Créer une nouvelle base de données
2- Utilisez-le par
use
commande3- Réessayez
Cela fonctionne pour moi.
la source
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 dans laquelle vous travaillez avant d'exécuter la requête:
Voici la documentation .
Si vous essayez de le faire via MySQL Workbench ...
... vous devez sélectionner la base de données / le catalogue approprié dans le menu déroulant situé au-dessus de l'onglet: Navigateur d'objets:. Vous pouvez spécifier le schéma / la base de données / le catalogue par défaut pour la connexion - cliquez sur les options "Gérer les connexions" sous l'en-tête Développement SQL de l'écran de démarrage du Workbench.
Addenda
Tout cela suppose qu'il existe une base de données dans laquelle vous souhaitez créer la table - sinon, vous devez créer la base de données avant toute autre chose:
la source
USE database;
commande, même dans MySQL Workbench (je suis en v5.2.47) si vous obtenez cette erreur. Il suffit de l'exécuter une fois par onglet de requête - toutes les exécutions suivantes sur cet onglet semblent utiliser correctement la base de données.Si vous le faites via phpMyAdmin:
Je suppose que vous avez déjà créé une nouvelle base de données MySQL sur le site en direct (par site en direct, je veux dire la société avec laquelle vous hébergez (dans mon cas, Bluehost)).
Accédez à phpMyAdmin sur le site en direct - connectez-vous à la base de données que vous venez de créer.
Maintenant IMPORTANT! Avant de cliquer sur l'option "importer" dans la barre supérieure, sélectionnez votre base de données sur le côté gauche de la page (barre grise, en haut PHP Myadmin écrit, en dessous deux options: schéma_informations et nom de la base de données à laquelle vous venez de vous connecter.
une fois que vous avez cliqué sur la base de données que vous venez de créer / vous y connecter, elle vous montrera cette base de données, puis cliquez sur l'option d'importation.
Cela a fait l'affaire pour moi. J'espère vraiment que cela aide
la source
SQL
fichier à l'aide du Bloc - notes ou du Bloc - notes ++CREATE DATABASE NAME; USE NAME;
la source
Si vous importez une base de données, vous devez d'abord en créer une avec le même nom, puis la sélectionner, puis y importer la base de données existante.
J'espère que ça marche pour toi!
la source
Pour MySQL Workbench
la source
citant ivan n: "Si vous importez une base de données, vous devez d'abord en créer une avec le même nom, puis la sélectionner, puis y importer la base de données existante. J'espère que cela fonctionne pour vous!"
Voici les étapes: Créez une base de données, par exemple my_db1, utf8_general_ci. Cliquez ensuite pour accéder à cette base de données. Cliquez ensuite sur "importer" et sélectionnez la base de données: my_db1.sql
Ça devrait être tout.
la source
sélectionnez d'abord la base de données: USE db_name
puis table de création: CREATE TABLE nom_tb (id int, nom varchar (255), salaire int, ville varchar (255));
ceci pour la syntaxe de la version mysql 5.5
la source
faites attention aux mots de passe vierges
demandera un mot de passe et se plaindra
mysqldump: Got error: 1046: "No database selected" when selecting the database
le problème est que l'
-p
option nécessite qu'il n'y ait pas d'espace entre-p
et le mot de passe.résolu le problème (les devis ne sont plus nécessaires).
la source
Bien que ce soit un fil assez ancien, je viens de découvrir quelque chose. J'ai créé une nouvelle base de données, puis ajouté un utilisateur et j'ai finalement utilisé phpMyAdmin pour télécharger le fichier .sql. échec total. Le système ne reconnaît pas la base de données que je vise ...
Lorsque je commence à zéro SANS attacher d'abord un nouvel utilisateur, puis effectuer la même importation phpMyAdmin, cela fonctionne bien.
la source
Je voulais juste ajouter: si vous créez une base de données dans mySQL sur un site en direct, allez dans PHPMyAdmin et la base de données ne s'affiche pas - déconnectez-vous de cPanel puis reconnectez-vous, ouvrez PHPMyAdmin, et elle devrait être là maintenant.
la source
Pour un élément de sécurité supplémentaire, lorsque vous travaillez avec plusieurs bases de données dans le même script, vous pouvez spécifier la base de données dans la requête, par exemple "créer la table my_awesome_db.really_cool_table ...".
la source
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 par hasard cette solution que j'ai trouvée sur un site allemand, donc je voulais partager avec les sans-abri qui ont des maux de tête comme moi.Ainsi, le problème se produit car le
-databases
paramètre manque avant le nom de la base de donnéesVotre commande doit donc ressembler à ceci:
Une autre cause du problème dans mon cas était que je développe sur local et que l'
root
utilisateur n'a pas de mot de passe, donc dans ce cas vous devez utiliser à la--password=
place de-pdbpass
, donc ma commande finale était:Lien vers le fil de discussion complet (en allemand): https://marius.bloggt-in-braunschweig.de/2016/04/29/solution-mysqldump-no-database-selected-when-selecting-the-database/
la source
JST créer une nouvelle base de données dans mysql.Select ce nouveau DB (si vous r en utilisant MySQL phpMyAdmin maintenant sur le dessus it'l être comme « serveur:. . . . * >> Base de données) .Maintenant allez à l' onglet d'importation sélectionnez file.Import !
la source