Błąd zapytania 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 powiedział:
#1046 - No database selected
potrzebuję tutaj pomocy.
sql
mysql
mysql-error-1046
steph
źródło
źródło
mysql -u root -p databasename < import.sql
Odpowiedzi:
Musisz powiedzieć MySQL, której bazy danych użyć:
przed utworzeniem stołu.
Jeśli baza danych nie istnieje, musisz ją utworzyć jako:
śledzony przez:
źródło
USE tablename
polecenie.CREATE DATABASE IF NOT EXISTS database_name ;
USE database_name;
Działa to niezależnie od tego, czy baza danych jest już utworzona, czy nie.Możesz także powiedzieć MySQL, której bazy danych użyć (jeśli już ją utworzyłeś):
źródło
mysql example -u example_user -p < ./example.sql
zamiast tego?Napotkałem ten sam błąd, gdy próbowałem zaimportować utworzoną wcześniej bazę danych. Oto, co zrobiłem, aby rozwiązać ten problem:
1- Utwórz nową bazę danych
2- Użyj go za pomocą
use
polecenia3- Spróbuj ponownie
To działa dla mnie.
źródło
Jeśli próbujesz to zrobić za pomocą wiersza polecenia ...
Jeśli próbujesz uruchomić instrukcję CREATE TABLE z interfejsu wiersza poleceń, musisz określić bazę danych, w której pracujesz, przed wykonaniem zapytania:
Oto dokumentacja .
Jeśli próbujesz to zrobić za pomocą MySQL Workbench ...
... musisz wybrać odpowiednią bazę danych / katalog z menu rozwijanego znajdującego się nad zakładką: Przeglądarka obiektów: Możesz określić domyślny schemat / bazę danych / katalog dla połączenia - kliknij opcje „Zarządzaj połączeniami” pod nagłówkiem Programowanie SQL ekranu powitalnego Workbench.
Uzupełnienie
To wszystko zakłada, że istnieje baza danych, w której chcesz utworzyć tabelę - jeśli nie, musisz utworzyć bazę danych zanim cokolwiek innego:
źródło
USE database;
polecenia, nawet w MySQL Workbench (jestem w wersji 5.2.47), jeśli otrzymujesz ten błąd. Wystarczy uruchomić go tylko raz dla każdej karty zapytania - wszystkie kolejne wykonania na tej karcie wydają się poprawnie korzystać z bazy danych.Jeśli robisz to przez phpMyAdmin:
Zakładam, że już utworzyłeś nową bazę danych MySQL na Live Site (przez live site mam na myśli firmę, z którą hostujesz (w moim przypadku Bluehost)).
Przejdź do phpMyAdmin na stronie na żywo - zaloguj się do właśnie utworzonej bazy danych.
WAŻNE! Przed kliknięciem opcji „importuj” na górnym pasku wybierz bazę danych po lewej stronie (szary pasek, na górze napisany jest PHP Myadmin, poniżej dwie opcje: schemat_informacji i nazwa bazy danych, do której się zalogowałeś.
po kliknięciu właśnie utworzonej / zalogowanej bazy danych wyświetli się ta baza danych, a następnie kliknij opcję importowania.
To załatwiło sprawę. Naprawdę mam nadzieję, że to pomaga
źródło
SQL
plik za pomocą Notatnika lub Notepad ++CREATE DATABASE NAME; USE NAME;
źródło
Jeśli importujesz bazę danych, musisz najpierw ją utworzyć o tej samej nazwie, a następnie wybierz ją, a następnie IMPORTUJ do niej istniejącą bazę danych.
Mam nadzieję, że to działa dla Ciebie!
źródło
Dla MySQL Workbench
źródło
cytując ivan n: „Jeśli importujesz bazę danych, najpierw musisz ją utworzyć o tej samej nazwie, a następnie wybierz ją, a następnie IMPORTUJ do niej istniejącą bazę danych. Mam nadzieję, że to zadziała!”
Oto kroki: Utwórz bazę danych, na przykład my_db1, utf8_general_ci. Następnie kliknij, aby przejść do tej bazy danych. Następnie kliknij „importuj” i wybierz bazę danych: my_db1.sql
To powinno być wszystko.
źródło
najpierw wybierz bazę danych: USE db_name
następnie tabela kreacji: CREATE TABLE nazwa_tab (id int, nazwa varchar (255), wynagrodzenie int, city varchar (255));
dotyczy to składni wersji mysql 5.5
źródło
uważaj na puste hasła
poprosi o hasło i narzeka
mysqldump: Got error: 1046: "No database selected" when selecting the database
problem polega na tym, że
-p
opcja wymaga braku odstępu między-p
hasłem a hasłem.rozwiązał problem (cytaty nie są już potrzebne).
źródło
Chociaż jest to dość stary wątek, właśnie coś odkryłem. Utworzyłem nową bazę danych, potem dodałem użytkownika i w końcu poszedłem użyć phpMyAdmina do przesłania pliku .sql. całkowita porażka. System nie rozpoznaje, do której DB zamierzam ...
Kiedy zaczynam od nowa BEZ najpierw dołączenia nowego użytkownika, a następnie wykonania tego samego importu phpMyAdmin, działa dobrze.
źródło
Chciałem tylko dodać: jeśli utworzysz bazę danych w mySQL na działającej stronie, to wejdź do PHPMyAdmin, a baza danych się nie wyświetla - wyloguj się z cPanel, a następnie zaloguj się ponownie, otwórz PHPMyAdmin i powinno już tam być.
źródło
Dla dodatkowego elementu bezpieczeństwa, pracując z wieloma bazami danych w tym samym skrypcie, możesz określić bazę danych w zapytaniu, np. „Stwórz tabelę moja_awesome_db.really_cool_table ...”.
źródło
Myślę, że się spóźniłem:] soory,
Jeśli jesteś tutaj, jak ja, szukając rozwiązania, gdy pojawia się ten błąd
mysqldump
zamiast z mysql, wypróbuj to rozwiązanie, które znalazłem na niemieckiej stronie internetowej przez przypadek, więc chciałem się podzielić z osobami bezdomnymi, które boli mnie głowa.Tak więc problem występuje, ponieważ
-databases
parametr brak przed nazwą bazy danychTwoje polecenie musi więc wyglądać następująco:
Inną przyczyną problemu w moim przypadku było to, że jestem rozwijająca się na lokalny, a
root
użytkownik nie ma hasła, więc w tym przypadku należy użyć--password=
zamiast-pdbpass
, więc moja ostateczna komenda brzmiała:Link do pełnego wątku (w języku niemieckim): https://marius.bloggt-in-braunschweig.de/2016/04/29/solution-mysqldump-no-database-selected-when-selecting-the-database/
źródło
jst utworzyć nowy DB w mysql.Select że nowy DB (jeśli r MySQL phpMyAdmin teraz na górze it'l być jak „Server:. . . . * >> Database) .Teraz przejdź do zakładki importu wybrać file.Import !
źródło