ত্রুটি 1046 কোনও ডাটাবেস নির্বাচিত নয়, কীভাবে সমাধান করবেন?


297

ত্রুটি এসকিউএল কোয়েরি:

--
-- 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;

মাইএসকিউএল বলেছেন:

#1046 - No database selected

এখানে কিছু সাহায্য প্রয়োজন।


7
যদি কেউ আগ্রহী হন তবে আপনি আমদানি ফাইলটি সম্পাদনা না করে সিএলআই কমান্ডের মাধ্যমে ডাটাবেসের নামও নির্দিষ্ট করতে পারেন। mysql -u root -p databasename < import.sql
স্যাম ডুফেল

আমার ক্ষেত্রে যা ঘটেছিল তা হ'ল: একটি স্কিমা তৈরি করুন, ডাটাবেসের নামে পূর্ণ, তারপরে এটি "ব্যর্থ, কোনও ডাটাবেস নির্বাচিত হয়নি" বলে। ওয়ার্কবেঞ্চটি আবার খুলুন, আমি ডেটাবেস দেখতে পাচ্ছি যে আমি স্রেফ তৈরি করতে ব্যর্থ হয়েছি। তারপরে আমি সবেমাত্র তৈরি করা ডাটাবেসটি বেছে নিয়ে একটি। এসকিউএল ফাইল খুলি এবং চালান, উভয়ই ডেটাবেস তৈরি করে এবং ডাটাবেস বিবৃতি ব্যবহার করে, এটি আবার "কোনও ডাটাবেস নির্বাচিত না করে" অভিযোগ করে। ওয়ার্কবেঞ্চ পুনরায় খুলুন, টেবিলগুলি সমস্ত নির্মিত। ম্যাক সিস্টেম, ওয়ার্কবেঞ্চ 6.3.3
টাইনা

উত্তর:


408

আপনার মাইএসকিউএলকে বলতে হবে কোন ডাটাবেসটি ব্যবহার করবেন:

USE database_name;

আপনি একটি টেবিল তৈরি করার আগে।

ডাটাবেসটির অস্তিত্ব না থাকলে আপনার এটিকে এটি তৈরি করতে হবে:

CREATE DATABASE database_name;

অনুসরণ করেছে:

USE database_name;

8
আমার ক্ষেত্রে, আমি একটি ডাটাবেস রফতানি করতে মাইএসকিএলডাম্প ব্যবহার করেছি এবং আমদানিতে এটি চালিয়ে যাচ্ছি। এর উপরে এই দুটি কমান্ড যুক্ত করতে আমাকে কেবল রফতানি করা এসকিএল ফাইলটি সম্পাদনা করতে হয়েছিল।
bh5k

ধন্যবাদ! এই আমার প্রয়োজন ছিল। আমার ডাটাবেস এবং টেবিলগুলি তৈরি করার জন্য আমার কাছে একটি স্ক্রিপ্ট ছিল কিন্তু টেবিলগুলি তৈরি হচ্ছিল না কারণ আমার USE tablenameকমান্ডটি সন্নিবেশ করানোর প্রয়োজন ছিল ।
ckpepper02

1
লিখুন: CREATE DATABASE IF NOT EXISTS database_name ; USE database_name;এটি ডেটাবেস ইতিমধ্যে তৈরি করা হয়েছে কিনা তা কাজ করে।
স্টিয়ান

50

আপনি মাইএসকিউএলকে কী ডেটাবেস ব্যবহার করবেন তা বলতে পারবেন (যদি এটি ইতিমধ্যে তৈরি করা থাকে):

 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;

এখানে ডকুমেন্টেশন

আপনি যদি মাইএসকিউএল ওয়ার্কবেঞ্চের মাধ্যমে এটি করার চেষ্টা করছেন ...

... উপরের ড্রপ ডাউন মেনুতে আপনাকে উপযুক্ত ডাটাবেস / ক্যাটালগ নির্বাচন করতে হবে: অবজেক্ট ব্রাউজার: ট্যাব। আপনি সংযোগের জন্য ডিফল্ট স্কিমা / ডাটাবেস / ক্যাটালগ নির্দিষ্ট করতে পারেন - ওয়ার্কবেঞ্চ স্প্ল্যাশ স্ক্রিনের এসকিউএল বিকাশ শিরোনামে "সংযোগগুলি পরিচালনা করুন" বিকল্পগুলিতে ক্লিক করুন।

অভিযোজ্য বস্তু

এটি সমস্তই ধরে নেয় যে কোনও ডাটাবেস রয়েছে যার ভিতরে আপনি টেবিলটি তৈরি করতে চান - যদি না হয় তবে আপনাকে অন্য কোনও কিছুর আগে ডাটাবেস তৈরি করতে হবে:

CREATE DATABASE your_database;

মাইএসকিউএল ওয়ার্কবেঞ্চ ব্যবহার: আপনি কি দয়া করে ড্রপ ডাউন এর অবস্থান সহ কোনও চিত্র সরবরাহ করতে পারেন?
অ্যাড্রিয়ানআরএম

আমি ভাবছি এটি মাইএসকিউএল ওয়ার্কবেঞ্চের পুরানো সংস্করণটিকে বোঝায়। আমি সর্বাধিক বর্তমান সংস্করণটি টেনেছি এবং আমি কোথাও একটি "অবজেক্ট ব্রাউজার" ট্যাব দেখতে পাচ্ছি না।
টিম কেটিং

মনে হচ্ছে আপনার USE database;যদি এই ত্রুটিটি পেয়ে থাকে তবে আপনার কমান্ডটি এমনকি মাইএসকিউএল ওয়ার্কবেঞ্চেও (আমি v5.2.47 এ আছি) ব্যবহার করতে হবে। কেবলমাত্র ক্যোয়ারি ট্যাবটিতে এটি একবারে চালানো দরকার - এই ট্যাবটিতে পরবর্তী সমস্ত মৃত্যুদণ্ড কার্যকরভাবে ডাটাবেসটি ব্যবহার করেছে বলে মনে হয়।
ড্যাক্রসবি

হাই, সুতরাং ওয়ার্ডপ্রেস এসকিউএল এর জন্য কীভাবে আমরা এসকিউএল ফাইলটিতে "ব্যবহার" করতে পারি। আপনি কি দয়া করে আরও একবার স্পষ্ট করে বলতে পারেন। আমি এখন সমস্যা আছে।
রাহুল এস

21

আপনি যদি পিএইচপিএমআইএডমিনের মাধ্যমে এটি করছেন:

  • আমি ধরে নিচ্ছি আপনি ইতিমধ্যে লাইভ সাইটে একটি নতুন মাইএসকিউএল ডেটাবেস তৈরি করেছেন (লাইভ সাইট বলতে আমি আপনার হোস্টিং সংস্থাকে বোঝাই (আমার ক্ষেত্রে ব্লুহোস্ট))।

  • লাইভ সাইটে পিএইচপিএমআইএডমিনে যান - আপনার সবেমাত্র তৈরি করা ডাটাবেসে লগ ইন করুন।

  • এখন গুরুত্বপূর্ণ! উপরের বারে "আমদানি" বিকল্পটি ক্লিক করার আগে, পৃষ্ঠার বাম দিকে আপনার ডাটাবেস নির্বাচন করুন (ধূসর বার, উপরে পিএইচপি মায়াডমিন লেখা আছে, এর নীচে দুটি অপশন রয়েছে: তথ্য_সেমিমা এবং আপনি সবেমাত্র লগইন করেছেন এমন ডাটাবেসের নাম)।

  • আপনি সবেমাত্র তৈরি / লগ ইন হওয়া ডাটাবেসটিতে ক্লিক করলে আপনাকে সেই ডাটাবেসটি দেখাবে এবং তারপরে আমদানি বিকল্পটি ক্লিক করুন।

এটা আমার জন্য কৌতুক করেছে। সত্যিই আশা করি এটি সাহায্য করে


আপনি যদি মনে করেন যে আপনি যদি ইতিমধ্যে ডাটাবেসে উপস্থিত না হন তবে পৃষ্ঠায় একটি বিকল্প থাকবে যা আপনাকে একটি নির্বাচন করার অনুমতি দেবে।
অ্যান্ডি মার্সার

15
  • নোটপ্যাড বা নোটপ্যাড ++SQL ব্যবহার করে আপনার ফাইল সম্পাদনা করুন
  • নিম্নলিখিত 2 লাইন যুক্ত করুন:

CREATE DATABASE NAME; USE NAME;


ওয়ার্ডপ্রেস ডাটাবেস ফাইলের ক্ষেত্রে আমরা কীভাবে লিখতে পারি যেহেতু মাইএসকিএল ওয়ার্কবেঞ্চ ব্যবহার করে আমদানি করার চেষ্টা করছি তবে কোনও ডাটাবেস নির্বাচিত হয়নি
রাহুল এস

8

যদি কোনও ডাটাবেস আমদানি করা হয় তবে আপনাকে প্রথমে একই নামের সাথে একটি তৈরি করতে হবে, তারপরে এটি নির্বাচন করুন এবং তারপরে এটিতে বিদ্যমান ডাটাবেসটি আমদানি করুন।

আশা করি এটা তোমার জন্য কাজ করবে!


আপনার উত্তরগুলি সম্পর্কে আপনার পদক্ষেপগুলি ব্যাখ্যা করে দয়া করে কিছু বিশদ যুক্ত করুন।
স্টারেক্স

7

মাইএসকিউএল ওয়ার্কবেঞ্চের জন্য

  1. ডান মাউস ক্লিক করে স্কিমাস ট্যাব থেকে ডাটাবেস নির্বাচন করুন।
  2. ডিফল্ট স্কিমা হিসাবে ডাটাবেস সেট করুন

এখানে চিত্র বর্ণনা লিখুন


2

আইভান এনকে উদ্ধৃত করে: "যদি কোনও ডাটাবেস আমদানি করা হয় তবে আপনাকে প্রথমে একই নামটি দিয়ে একটি তৈরি করতে হবে, তারপরে এটি নির্বাচন করুন এবং তারপরে এটি বিদ্যমান ডাটাবেসটি আমদানি করুন Hope আশা করি এটি আপনার পক্ষে কাজ করে!"

এই পদক্ষেপগুলি: একটি ডেটাবেস তৈরি করুন, উদাহরণস্বরূপ my_db1, utf8_general_ci। তারপরে এই ডাটাবেসের ভিতরে যেতে ক্লিক করুন। তারপরে "আমদানি করুন" এ ক্লিক করুন এবং ডাটাবেসটি নির্বাচন করুন: my_db1.sql

এটাই সব হওয়া উচিত।


এটি ইভানের উত্তরের নীচে একটি মন্তব্য হওয়া উচিত, যাতে তিনি আপনার পদক্ষেপগুলি অন্তর্ভুক্ত করতে তার উত্তর পরিবর্তন করতে পারেন।
নেভিগাট্রন

1

প্রথম নির্বাচন করুন ডাটাবেস: USE db_name

তারপরে ক্রিয়েট টেবিল: টেবিল তৈরি করুন tb_name (আইডি ইন্ট, নাম বর্ণচর (255), বেতন ইনট, সিটি বারচার (255));

এটি মাইএসকিএল 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 ব্যবহার করতে গিয়েছিলাম। মোট ব্যর্থতা সিস্টেমটি সনাক্ত করতে পারে না আমি কোন ডিবি লক্ষ্য করছি ...

আমি যখন নতুন ব্যবহারকারী সংযুক্ত না করে নতুন করে শুরু করি এবং তারপরে একই পিএইচপিএমওয়াই অ্যাডমিন আমদানি করি, এটি ঠিকঠাক কাজ করে।


0

কেবল যুক্ত করতে চেয়েছিলেন: আপনি যদি কোনও লাইভ সাইটে মাইএসকিউএলে একটি ডাটাবেস তৈরি করেন, তবে পিএইচপিএমইএডমিনে যান এবং ডাটাবেসটি প্রদর্শিত হয় না - সিপ্যানেলের লগআউট করে পিএইচপিএমইএডমিন খুলুন, এবং এখনই এটি থাকা উচিত।


0

সুরক্ষার একটি অতিরিক্ত উপাদানটির জন্য, একই স্ক্রিপ্টে একাধিক ডিবি নিয়ে কাজ করার সময় আপনি কোয়েরিতে ডিবি নির্দিষ্ট করতে পারেন, যেমন "আমার সারণী তৈরি করুন_আগ্রহ_আর।


0

আমার মনে হয় দেরি হয়ে গেছে:] স্নিগ্ধ,

আপনি যদি এখানে থাকেন তবে এই ত্রুটিটি দেখা দিলে সমাধানের জন্য অনুসন্ধান করছেন mysqldump পরিবর্তে এই সমাধানটি চেষ্টা করুন যা আমি একটি জার্মান ওয়েবসাইটে সুযোগ পেয়ে খুঁজে পেয়েছি, তাই আমি আমার মতো মাথা ব্যথার শিকার গৃহহীন লোকদের সাথে ভাগ করে নিতে চাই।

সুতরাং সমস্যা দেখা দেয় কারণ -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-datedia-selected-when-selecting-the-database/


-1

JST mysql.Select একটি নতুন ডিবি তৈরি যে নতুন ডিবি (যদি আপনি উপরে এখন মাইএসকিউএল phpMyAdmin ব্যবহার R 'সার্ভার মত হতে it'l। । * >> ডাটাবেস) .Now file.Import নির্বাচন আমদানি ট্যাবে যান !

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.