Ошибка 1046 Нет базы данных Выбрано, как ее решить?

227 steph [2010-10-23 21:19:00]

Ошибка 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 сказал:

#1046 - No database selected

нужна помощь здесь.

sql mysql mysql-error-1046


15 ответов


334 codaddict [2010-10-23 21:21:00]

Вам нужно указать MySQL, какую базу данных использовать:

USE database_name;

прежде чем создавать таблицу.

Если база данных не существует, вам необходимо создать ее как:

CREATE DATABASE database_name;

а затем:

USE database_name;

39 Shay Anderson [2014-02-17 22:21:00]

Вы также можете указать MySQL, какую базу данных использовать (если она уже создана):

 mysql -u example_user -p --database=example < ./example.sql

26 OMG Ponies [2010-10-23 21:24:00]

Если вы пытаетесь сделать это с помощью командной строки...

Если вы пытаетесь запустить оператор CREATE TABLE из интерфейса командной строки, вам нужно указать базу данных, в которой вы работаете, перед выполнением запроса:

USE your_database;

Здесь документация.

Если вы пытаетесь сделать это через MySQL Workbench...

... вам нужно выбрать соответствующую базу данных/каталог в раскрывающемся меню, расположенном над вкладкой "Обозреватель объектов: вкладка". Вы можете указать стандартную схему/базу данных/каталог для подключения - нажмите "Управление соединениями" в разделе "Развитие SQL" экрана заставки Workbench.

Добавление

Все это предполагает наличие базы данных, в которой вы хотите создать таблицу внутри - если нет, вам нужно создать базу данных прежде всего:

CREATE DATABASE your_database;

24 Mina Fawzy [2015-12-06 11:26:00]

Я столкнулся с такой же ошибкой, когда попытался импортировать базу данных, созданную ранее. Вот что я сделал, чтобы исправить эту проблему:

1- Создать новую базу данных

2- Используйте его с use команды

enter image description here

3- Повторите попытку

Это работает для меня.


16 Roanna [2014-03-18 04:25:00]

Если вы делаете это через phpMyAdmin:

  • Я предполагаю, что вы уже создали новую базу данных MySQL на Live-сайте (на живом сайте я имею в виду компанию, в которой ваш хостинг (в моем случае Bluehost)).

  • Перейдите в phpMyAdmin на сайте live - войдите в базу данных, которую вы только что создали.

  • Теперь ВАЖНО! Прежде чем нажимать кнопку "импорт" на верхней панели, выберите свою базу данных в левой части страницы (серая полоса, сверху вверху написан PHP Myadmin, под ней два параметра: information_schema и имя базы данных, в которую вы только вошли.

  • после того, как вы щелкнете базу данных, которую вы только что создали/вошли в нее, она покажет вам эту базу данных и затем щелкните параметр импорта.

Это трюк для меня. Надеюсь, что поможет


11 Ayham AlKawi [2013-10-11 23:48:00]

  • Отредактируйте свой SQL файл, используя Блокнот или Блокнот ++
  • добавьте следующую строку:

CREATE DATABASE NAME; USE NAME;


6 ivan n [2011-10-25 19:38:00]

Если вы импортируете базу данных, вам нужно сначала создать ее с тем же именем, затем выбрать ее, а затем импортировать в нее существующую базу данных.

Надеюсь, что это сработает для вас!


2 iversoncru [2013-04-18 15:25:00]

цитирование ivan n: "Если вы импортируете базу данных, вам нужно сначала создать ее с тем же именем, а затем выбрать ее, а затем импортировать в нее существующую базу данных. Надеюсь, это сработает для вас! "

Это следующие шаги: Создайте базу данных, например my_db1, utf8_general_ci. Затем нажмите, чтобы войти в эту базу данных. Затем нажмите "импорт" и выберите базу данных: my_db1.sql

Это должно быть все.


1 veeru666 [2015-07-04 15:46:00]

сначала выберите базу данных: USE db_name

тогда таблица creat: CREATE TABLE tb_name (  id int,  имя varchar (255),  зарплата int, город варчар (255) );

this для синтаксиса версии mysql 5.5


0 zipzit [2013-09-27 13:15:00]

Хотя это довольно старый поток, я только что нашел что-то. Я создал новую базу данных, затем добавил пользователя и, наконец, пошел использовать phpMyAdmin для загрузки файла .sql. общий сбой. Система не распознает, к какой базе данных я стремился...

Когда я начинаю новый БЕЗ с первого присоединения нового пользователя, а затем выполняет тот же импорт phpMyAdmin, он отлично работает.


0 Eric Korolev [2018-12-06 17:12:00]

Для MySQL Workbench

  1. Выберите базу данных со вкладки Схемы, щелкнув правой кнопкой мыши.
  2. Установить базу данных как схему по умолчанию

enter image description here


0 William T. Mallard [2016-07-17 18:36:00]

Для дополнительного элемента безопасности при работе с несколькими БД в том же script вы можете указать БД в запросе, например. msgstr "создать таблицу my_awesome_db.really_cool_table...".


0 the10thplanet [2014-08-05 02:42:00]

Просто хотел добавить: если вы создаете базу данных в mySQL на живом сайте, перейдите в PHPMyAdmin, и база данных не появится - выход из cPanel, затем войдите в систему, откройте PHPMyAdmin, и он должен быть там сейчас.


0 MoolsBytheway [2018-09-23 05:52:00]

Я опаздываю, думаю:] Сори,

Если вы здесь, как я, ища решение, когда эта ошибка возникает с mysqldump вместо mysql, попробуйте это решение, которое я нашел на немецком веб-сайте, случайно, поэтому я хотел поделиться с бездомными людьми, у которых были головные боли, подобные мне.

Таким образом, проблема возникает из-за отсутствия параметра -databases перед именем базы данных

Поэтому ваша команда должна выглядеть так:

mysqldump -pdbpass -udbuser --databases dbname

Другая причина проблемы в моем случае заключалась в том, что я развивается на локальном компьютере, а у пользователя root нет пароля, поэтому в этом случае вы должны использовать --password= вместо -pdbpass, поэтому моя последняя команда:

mysqldump -udbuser --password= --databases dbname

Ссылка на полный поток (на немецком языке): https://marius.bloggt-in-braunschweig.de/2016/04/29/solution-mysqldump-no-database-selected-when-selecting-the-database/


-1 cs075 [2015-10-19 08:34:00]

jst создайте новую базу данных в mysql. Выберите этот новый DB. (если вы используете mysql phpmyadmin сейчас, то наверху он будет похож на "Сервер: ... * → База данных). Теперь перейдите на вкладку импорта, выберите файл. Импорт!