Ошибка 1046 Нет базы данных Выбран, как решить? - PullRequest
253 голосов
/ 23 октября 2010

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

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

Ответы [ 15 ]

362 голосов
/ 23 октября 2010

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

USE database_name;

перед созданием таблицы.

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

CREATE DATABASE database_name;

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

USE database_name;
43 голосов
/ 17 февраля 2014

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

 mysql -u example_user -p --database=example < ./example.sql
29 голосов
/ 06 декабря 2015

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

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

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

enter image description here

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

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

27 голосов
/ 23 октября 2010

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

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

USE your_database;

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

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

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

Добавление

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

CREATE DATABASE your_database;
18 голосов
/ 18 марта 2014

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

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

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

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

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

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

12 голосов
/ 12 октября 2013
  • Отредактируйте файл SQL с помощью Блокнот или Блокнот ++
  • добавьте следующие 2 строки:

CREATE DATABASE NAME; USE NAME;

8 голосов
/ 25 октября 2011

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

Надеюсь, у вас это получится!

2 голосов
/ 18 апреля 2013

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

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

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

1 голос
/ 06 декабря 2018

Для MySQL Workbench

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

enter image description here

1 голос
/ 04 июля 2015

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

затем создайте таблицу: CREATE TABLE tb_name ( id int, имя варчар (255), Зарплата Int, город Варчар (255) );

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

...