त्रुटि 1046 कोई डेटाबेस चयनित नहीं, कैसे हल करें?


297

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

यहाँ कुछ मदद चाहिए।


7
यदि किसी की दिलचस्पी है, तो आप आयात फ़ाइल को संपादित किए बिना भी CLI कमांड के माध्यम से डेटाबेस का नाम निर्दिष्ट कर सकते हैं। mysql -u root -p databasename < import.sql
सैम डुफेल 24'14

मेरे साथ जो हुआ वह था: डेटाबेस के नाम से भरा एक स्कीमा, फिर यह कहते हैं कि "विफल, कोई डेटाबेस चयनित नहीं"। कार्यक्षेत्र को फिर से खोलें, मैं डेटाबेस बनाता हूं जिसे मैंने अभी बनाया है। फिर मैं उस डेटाबेस को चुनता हूं जिसे मैंने अभी बनाया है, और एक .sql फ़ाइल खोलें और चलाएं, दोनों डेटाबेस बनाएँ और डेटाबेस स्टेटमेंट का उपयोग करें, यह शिकायत करता है कि "फिर से चुने गए डेटाबेस को विफल न करें"। कार्यक्षेत्र को फिर से खोलें, टेबल सभी निर्मित हैं। मैक प्रणाली, कार्यक्षेत्र 6.3.3
टीना

जवाबों:


408

आपको MySQL को यह बताने की जरूरत है कि किस डेटाबेस का उपयोग करना है:

USE database_name;

तालिका बनाने से पहले।

यदि डेटाबेस मौजूद नहीं है, तो आपको इसे बनाने की आवश्यकता है:

CREATE DATABASE database_name;

के बाद:

USE database_name;

8
मेरे मामले में, मैंने एक डेटाबेस को निर्यात करने के लिए mysqldump का उपयोग किया था और आयात पर इस में चल रहा था। मुझे बस इन दो कमांड को इसके शीर्ष पर जोड़ने के लिए निर्यात की गई sql फ़ाइल को संपादित करना था।
bh5k

धन्यवाद! यह वही है जो मुझे चाहिए था। मेरे पास अपने डेटाबेस और टेबल बनाने के लिए एक स्क्रिप्ट थी, लेकिन टेबल इसलिए नहीं बन रहे थे क्योंकि मुझे USE tablenameकमांड डालने की जरूरत थी ।
ckpepper02

1
लिखें: CREATE DATABASE IF NOT EXISTS database_name ; USE database_name;यह काम करता है कि डेटाबेस पहले से ही बना है या नहीं।
स्टियन

50

आप MySQL को यह भी बता सकते हैं कि किस डेटाबेस का उपयोग करना है (यदि आपने इसे पहले ही बनाया है):

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

7
mysql example -u example_user -p < ./example.sqlइसके बजाय क्यों नहीं ?
पेसरियर

36

मुझे उसी त्रुटि का सामना करना पड़ा जब मैंने पहले से बनाए गए डेटाबेस को आयात करने की कोशिश की। यहाँ मैंने इस मुद्दे को ठीक करने के लिए क्या किया है:

1- नया डेटाबेस बनाएं

2- इसे useकमांड द्वारा उपयोग करें

यहां छवि विवरण दर्ज करें

3- फिर से प्रयास करें

यह मेरे लिए काम करता है।


28

यदि आप कमांड लाइन के माध्यम से ऐसा करने की कोशिश कर रहे हैं ...

यदि आप कमांड लाइन इंटरफेस से क्रिएट टेबल स्टेटमेंट को चलाने की कोशिश कर रहे हैं, तो आपको क्वेरी को निष्पादित करने से पहले उस डेटाबेस को निर्दिष्ट करना होगा जो आप काम कर रहे हैं:

USE your_database;

यहाँ प्रलेखन है

यदि आप MySQL कार्यक्षेत्र के माध्यम से ऐसा करने की कोशिश कर रहे हैं ...

... आपको नीचे दिए गए ड्रॉप डाउन मेनू में उपयुक्त डेटाबेस / कैटलॉग का चयन करने की आवश्यकता है: ऑब्जेक्ट ब्राउज़र: टैब। आप कनेक्शन के लिए डिफ़ॉल्ट स्कीमा / डेटाबेस / कैटलॉग निर्दिष्ट कर सकते हैं - कार्यक्षेत्र स्प्लैश स्क्रीन के SQL विकास शीर्षक के तहत "कनेक्शन प्रबंधित करें" विकल्प पर क्लिक करें।

परिशिष्ट

यह सब मानता है कि एक डेटाबेस है जिसे आप तालिका के अंदर बनाना चाहते हैं - यदि नहीं, तो आपको कुछ और करने से पहले डेटाबेस बनाने की आवश्यकता है:

CREATE DATABASE your_database;

MySQL कार्यक्षेत्र का उपयोग करना: क्या आप ड्रॉप डाउन के स्थान के साथ एक छवि प्रदान कर सकते हैं?
AdrianRM

मुझे लगता है कि यह MySQL वर्कबेंच के पुराने संस्करण को संदर्भित कर सकता है। मैंने अभी सबसे वर्तमान संस्करण निकाला है और मुझे कहीं भी "ऑब्जेक्ट ब्राउज़र" टैब दिखाई नहीं देता है।
टिम कीटिंग

ऐसा लगता है कि USE database;यदि आपको यह त्रुटि मिल रही है, तो भी आपको MySQL Workbench (मैं v5.2.47 में हूँ) कमांड का उपयोग करने की आवश्यकता है । केवल इसे एक बार प्रति क्वेरी टैब पर चलाने की आवश्यकता है - उस टैब पर बाद के सभी निष्पादन डेटाबेस का सही उपयोग करते हैं।
DACrosby

नमस्ते, तो WordPress sql के लिए हम SQL फ़ाइल में "उपयोग" कैसे कर सकते हैं। क्या आप स्पष्ट कर सकते हैं कि एक बार और। मुझे अब समस्या हो रही है।
राहुल एस

21

यदि आप phpMyAdmin के माध्यम से ऐसा कर रहे हैं:

  • मैं मान रहा हूँ कि आप पहले से ही लाइव साइट पर एक नया MySQL डाटाबेस तैयार कर रहे हैं (लाइव साइट से मेरा मतलब है कि कंपनी आपकी मेजबानी के साथ (मेरे मामले में Bluehost))।

  • लाइव साइट पर phpMyAdmin पर जाएं - आपके द्वारा बनाए गए डेटाबेस में लॉग इन करें।

  • अब महत्वपूर्ण! शीर्ष पट्टी पर "आयात" विकल्प पर क्लिक करने से पहले, पृष्ठ के बाईं ओर अपने डेटाबेस का चयन करें (ग्रे बार, शीर्ष पर PHP Myadmin लिखा है, इसके नीचे दो विकल्प हैं: info_schema और डेटाबेस का नाम जिसे आपने अभी लॉग इन किया है।

  • एक बार जब आप अपने द्वारा बनाए / लॉग इन किए गए डेटाबेस पर क्लिक करते हैं तो आपको वह डेटाबेस दिखाई देगा और फिर आयात विकल्प पर क्लिक करें।

मेरे लिए यही चाल चली। वास्तव में उम्मीद है कि मदद करता है


आपको लगता है कि यदि आप पहले से ही डेटाबेस पर नहीं थे, तो पृष्ठ पर एक विकल्प होगा कि आप एक का चयन कर सकें।
एंडी मर्सर

15
  • नोटपैड या नोटपैड ++SQL का उपयोग करके अपनी फ़ाइल को संपादित करें
  • निम्नलिखित 2 पंक्ति जोड़ें:

CREATE DATABASE NAME; USE NAME;


हम वर्डप्रेस डेटाबेस फ़ाइल के मामले में कैसे लिख सकते हैं क्योंकि मैं MySql कार्यक्षेत्र का उपयोग कर आयात करने की कोशिश कर रहा हूं, लेकिन कोई डेटाबेस चयनित नहीं हो रहा है
राहुल एस

8

यदि डेटाबेस आयात कर रहे हैं, तो आपको पहले उसी नाम से एक बनाने की आवश्यकता है, फिर उसे चुनें और फिर मौजूदा डेटाबेस को आयात करें।

आशा है कि यह आप के लिए काम करता है!


कृपया अपने चरणों को समझाते हुए अपने उत्तर में कुछ विवरण जोड़ें।
Starx

7

MySQL कार्यक्षेत्र के लिए

  1. राइट माउस क्लिक द्वारा स्कीमा टैब से डेटाबेस का चयन करें।
  2. डेटाबेस को डिफ़ॉल्ट स्कीमा के रूप में सेट करें

यहां छवि विवरण दर्ज करें


2

ivan n को उद्धृत करते हुए: "यदि डेटाबेस का आयात किया जाता है, तो आपको पहले उसी नाम से एक बनाने की आवश्यकता है, फिर उसे चुनें और फिर मौजूदा डेटाबेस को आयात करें। आशा है कि यह आपके लिए काम करेगा!"

ये चरण हैं: डेटाबेस बनाएँ, उदाहरण के लिए my_db1, utf8_general_ci। फिर इस डेटाबेस के अंदर जाने के लिए क्लिक करें। फिर "आयात" पर क्लिक करें, और डेटाबेस का चयन करें: my_db1.sql

वह सब होना चाहिए।


यह इवान के जवाब के नीचे एक टिप्पणी होनी चाहिए, इसलिए वह आपके कदमों को शामिल करने के लिए अपने जवाब को बदल सकता है।
नवग्रहोन

1

पहले डेटाबेस का चयन करें: USE db_name

तब क्रिएशन टेबल: क्रिएट टेबल tb_name (id int, name varchar (255), सैलरी इंट, सिटी varchar (255x));

mysql 5.5 संस्करण सिंटैक्स के लिए यह


1

खाली पासवर्ड के बारे में सावधान रहें

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

समस्या हल हो गई (उद्धरण की अब आवश्यकता नहीं है)।


0

हालांकि यह एक बहुत पुराना धागा है, मुझे अभी कुछ पता चला है। मैंने एक नया डेटाबेस बनाया, फिर एक उपयोगकर्ता जोड़ा, और आखिरकार .sql फ़ाइल अपलोड करने के लिए phpMyAdmin का उपयोग करने के लिए चला गया। पूर्ण रूप से विफल होना। सिस्टम पहचान नहीं करता है कि मैं किस डीबी का लक्ष्य बना रहा हूं ...

जब मैं नए उपयोगकर्ता को पहले संलग्न करने के बिना नए सिरे से शुरू करता हूं, और फिर वही phpMyAdmin आयात करता हूं, तो यह ठीक काम करता है।


0

बस जोड़ना चाहता था: यदि आप एक लाइव साइट पर mySQL में एक डेटाबेस बनाते हैं, तो PHPMyAdmin में जाएं और डेटाबेस दिखाई नहीं दे रहा है - cPanel का लॉगआउट फिर लॉग इन करें, PHPMyAdmin खोलें, और यह अभी होना चाहिए।


0

सुरक्षा के एक अतिरिक्त तत्व के लिए, जब एक ही स्क्रिप्ट में कई DB के साथ काम करते हुए आप क्वेरी में DB निर्दिष्ट कर सकते हैं, उदाहरण के लिए "तालिका बनाएँ my_awesome_db.really_cool_table ..."।


0

मुझे देर हो गई है मुझे लगता है:]

यदि आप यहां मेरे जैसे समाधान खोज रहे हैं, जब यह त्रुटि mysqldumpmysql के बजाय होती है , तो इस समाधान को आज़माएं, जो कि मुझे जर्मन वेबसाइट पर मिला है।

इसलिए समस्या होती है क्योंकि -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-tlecting-the-database/


-1

JST mysql.Select में एक नया डीबी बनाने कि नई डीबी (यदि आप शीर्ष पर अब mysql phpmyadmin का उपयोग कर r 'सर्वर की तरह हो it'l:। । * >> डाटाबेस) अब file.Import चयन आयात टैब पर जाएं !

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.