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 déclaré:
#1046 - No database selected
besoin d'aide ici.
Vous devez indiquer à MySQL quelle base de données utiliser:
USE database_name;
avant de créer une table.
Au cas où la base de données n'existe pas, vous devez la créer comme suit:
CREATE DATABASE database_name;
suivi par:
USE database_name;
Vous pouvez également indiquer à MySQL quelle base de données utiliser (si vous l'avez déjà créée):
mysql -u example_user -p --database=example < ./example.sql
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 sur laquelle vous travaillez avant d'exécuter la requête:
USE your_database;
Voici la documentation .
... vous devez sélectionner la base de données/catalogue appropriée 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 de Workbench.
Tout cela suppose qu'il y ait une base de données sur laquelle vous voulez créer la table - sinon, vous devez créer la base de données avant toute autre chose:
CREATE DATABASE your_database;
Si vous faites cela via phpMyAdmin:
Je suppose que vous avez déjà créé une nouvelle base de données MySQL sur le site Live (par site actif, j'entends la société avec laquelle vous hébergez (dans mon cas, Bluehost)).
Allez sur phpMyAdmin on live site - connectez-vous à la base de données que vous venez de créer.
Maintenant IMPORTANT! Avant de cliquer sur l'option "importer" de la barre supérieure, sélectionnez votre base de données dans la partie gauche de la page (barre grise, sur laquelle PHP Myadmin est écrit en haut, sous deux options: connecté à.
une fois que vous avez cliqué sur la base de données que vous venez de créer/connectez, elle vous montrera cette base de données, puis cliquez sur l'option d'importation.
Cela a fait le tour pour moi. Espérons vraiment que cela aide
SQL
en utilisant Notepad ou Notepad ++ CREATE DATABASE NAME;
USE NAME;
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 et IMPORTER ensuite la base de données existante.
J'espère que ça marche pour toi!
citant ivan n: "Si vous importez une base de données, vous devez en créer une d’abord avec le même nom, puis la sélectionner, puis IMPORTER la base de données existante dans celle-ci . J'espère que cela fonctionne pour vous!"
Voici les étapes à suivre: Créer une base de données, par exemple my_db1, utf8_general_ci . Cliquez ensuite sur pour aller à l'intérieur de cette base de données . Cliquez ensuite sur "importer" et sélectionnez la base de données: my_db1.sql
Cela devrait être tout.
première sélection de base de données: USE nom_base
then table: CREATE TABLE nom_base ( id int, nom varchar (255), salaire int, ville varchar (255) );
ceci pour la syntaxe de la version mysql 5.5
Bien que ce soit un très vieux fil, je viens de découvrir quelque chose. J'ai créé une nouvelle base de données, puis ajouté un utilisateur et je suis finalement allé à utiliser phpMyAdmin pour télécharger le fichier .sql. échec total. Le système ne reconnaît pas quelle base de données je vise ...
Quand je commence à nouveau SANS attacher d'abord un nouvel utilisateur, puis que j'effectue la même importation phpMyAdmin, tout fonctionne correctement.
Pour plus de sécurité, lorsque vous utilisez 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 ...".
faire attention aux mots de passe vierges
mysqldump [options] -p '' --databases database_name
demandera un mot de passe et se plaindra avec mysqldump: Got error: 1046: "No database selected" when selecting the database
le problème est que l'option -p
nécessite qu'il n'y ait pas d'espace entre -p
et le mot de passe.
mysqldump [options] -p'' --databases database_name
résolu le problème (les guillemets ne sont plus nécessaires).
Je voulais juste ajouter: Si vous créez une base de données dans mySQL sur un site actif, accédez à PHPMyAdmin et si la base de données ne s'affiche pas - déconnectez-vous de cPanel, puis reconnectez-vous, ouvrez PHPMyAdmin et vous devriez y être.
Je suis en retard je pense:] soory,
Si vous êtes comme moi à la recherche de la solution lorsque cette erreur se produit avec mysqldump
au lieu de mysql, essayez cette solution trouvée par hasard sur un site Web allemand. Je souhaitais donc partager avec des sans-abri souffrant de maux de tête comme moi.
Donc, le problème se produit parce que le paramètre lack -databases
avant le nom de la base de données
Donc, votre commande doit ressembler à ceci:
mysqldump -pdbpass -udbuser --databases dbname
Une autre cause du problème dans mon cas était que je me développais sur local et que l'utilisateur root
n'avait pas de mot de passe. Dans ce cas, vous devez donc utiliser --password=
au lieu de -pdbpass
; ma dernière commande était donc:
mysqldump -udbuser --password= --databases dbname
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/