it-swarm.com.ru

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

Ошибка 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

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

237
steph

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

USE database_name;

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

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

CREATE DATABASE database_name;

с последующим: 

USE database_name;
349
codaddict

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

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

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

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

USE your_database;

Вот документация .

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

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

Добавление

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

CREATE DATABASE your_database;
27
OMG Ponies

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

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

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

 enter image description here

3- Попробуй еще раз 

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

27
Mina Fawzy

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

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

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

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

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

Это помогло мне. Очень надеюсь, что это помогает

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

CREATE DATABASE NAME; USE NAME;

12
Ayham AlKawi

Если вы импортируете базу данных, вам нужно сначала создать ее с тем же именем, затем выбрать ее, а затем ИМПОРТИРОВАТЬ в нее существующую базу данных.

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

7
ivan n

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

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

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

2
iversoncru

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

затем создайте таблицу: CREATE TABLE tb_name ( id int, name varchar (255), salary int, city varchar (255) );

это для синтаксиса версии MySQL 5.5

1
veeru666

Для MySQL Workbench

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

 enter image description here

1
Eric Korolev

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

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

0
zipzit

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

0
William T. Mallard

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

0
the10thplanet

Я опоздал, я думаю: 

Если вы здесь, как я, ищите решение, когда эта ошибка возникает с 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/

0
MoolsBytheway