Ответ 1
Вам нужно указать MySQL, какую базу данных использовать:
USE database_name;
прежде чем создавать таблицу.
Если база данных не существует, вам необходимо создать ее как:
CREATE DATABASE database_name;
а затем:
USE database_name;
Ошибка 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
нужна помощь здесь.
Вам нужно указать MySQL, какую базу данных использовать:
USE database_name;
прежде чем создавать таблицу.
Если база данных не существует, вам необходимо создать ее как:
CREATE DATABASE database_name;
а затем:
USE database_name;
Вы также можете указать MySQL, какую базу данных использовать (если она уже создана):
mysql -u example_user -p --database=example < ./example.sql
Я столкнулся с такой же ошибкой, когда попытался импортировать базу данных, созданную ранее. Вот что я сделал, чтобы исправить эту проблему:
1- Создать новую базу данных
2- Используйте его с use
команды
3- Повторите попытку
Это работает для меня.
Если вы пытаетесь запустить оператор CREATE TABLE из интерфейса командной строки, вам нужно указать базу данных, в которой вы работаете, перед выполнением запроса:
USE your_database;
Здесь документация.
... вам нужно выбрать соответствующую базу данных/каталог в раскрывающемся меню, расположенном над вкладкой "Обозреватель объектов: вкладка". Вы можете указать стандартную схему/базу данных/каталог для подключения - нажмите "Управление соединениями" в разделе "Развитие SQL" экрана заставки Workbench.
Все это предполагает наличие базы данных, в которой вы хотите создать таблицу внутри - если нет, вам нужно создать базу данных прежде всего:
CREATE DATABASE your_database;
Если вы делаете это через phpMyAdmin:
Я предполагаю, что вы уже создали новую базу данных MySQL на Live-сайте (на живом сайте я имею в виду компанию, в которой ваш хостинг (в моем случае Bluehost)).
Перейдите в phpMyAdmin на сайте live - войдите в базу данных, которую вы только что создали.
Теперь ВАЖНО! Прежде чем нажимать кнопку "импорт" на верхней панели, выберите свою базу данных в левой части страницы (серая полоса, сверху вверху написан PHP Myadmin, под ней два параметра: information_schema и имя базы данных, в которую вы только вошли.
после того, как вы щелкнете базу данных, которую вы только что создали/вошли в нее, она покажет вам эту базу данных и затем щелкните параметр импорта.
Это трюк для меня. Надеюсь, что поможет
SQL
файл, используя Блокнот или Блокнот ++ CREATE DATABASE NAME;
USE NAME;
Если вы импортируете базу данных, вам нужно сначала создать ее с тем же именем, затем выбрать ее, а затем импортировать в нее существующую базу данных.
Надеюсь, что это сработает для вас!
цитирование ivan n: "Если вы импортируете базу данных, вам нужно сначала создать ее с тем же именем, а затем выбрать ее, а затем импортировать в нее существующую базу данных. Надеюсь, это сработает для вас! "
Это следующие шаги: Создайте базу данных, например my_db1, utf8_general_ci. Затем нажмите, чтобы войти в эту базу данных. Затем нажмите "импорт" и выберите базу данных: my_db1.sql
Это должно быть все.
сначала выберите базу данных: USE db_name
тогда таблица creat: CREATE TABLE tb_name ( id int, имя varchar (255), зарплата int, город варчар (255) );
this для синтаксиса версии mysql 5.5
Для MySQL Workbench
Хотя это довольно старый поток, я только что нашел что-то. Я создал новую базу данных, затем добавил пользователя и, наконец, пошел использовать phpMyAdmin для загрузки файла .sql. общий сбой. Система не распознает, к какой базе данных я стремился...
Когда я начинаю новый БЕЗ с первого присоединения нового пользователя, а затем выполняет тот же импорт phpMyAdmin, он отлично работает.
Просто хотел добавить: если вы создаете базу данных в mySQL на живом сайте, перейдите в PHPMyAdmin, и база данных не появится - выход из cPanel, затем войдите в систему, откройте PHPMyAdmin, и он должен быть там сейчас.
Для дополнительного элемента безопасности при работе с несколькими БД в том же script вы можете указать БД в запросе, например. msgstr "создать таблицу my_awesome_db.really_cool_table...".
Я опаздываю, думаю:] Сори,
Если вы здесь, как я, ища решение, когда эта ошибка возникает с 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/
будьте осторожны с пустыми паролями
mysqldump [options] -p '' --databases database_name
запросит пароль и mysqldump: Got error: 1046: "No database selected" when selecting the database
проблема в том, что опция -p
требует, чтобы между -p
и паролем не было пробела.
mysqldump [options] -p'' --databases database_name
решил проблему (кавычки больше не нужны).
jst создайте новую базу данных в mysql. Выберите этот новый DB. (если вы используете mysql phpmyadmin сейчас, то наверху он будет похож на "Сервер: ... * → База данных). Теперь перейдите на вкладку импорта, выберите файл. Импорт!