MySQL कार्यक्षेत्र संपादन तालिका डेटा केवल पढ़ा जाता है


84

MySQL Workbench 5.2.37 में Edit Table Data को आज़माते समय, इसकी रीड ओनली मोड।

यह तभी संपादन योग्य है जब तालिका में एक प्राथमिक कुंजी हो।

क्या प्राथमिक कुंजी के बिना तालिका से निपटने के लिए कोई फिक्स है ??

धन्यवाद

एक सुझाव के रूप में मैंने डब्ल्यूबी 5.2.40 को अपग्रेड करने की कोशिश की। लेकिन फिर भी यह मुद्दा मौजूद है .. क्या कोई भी मदद कर सकता है कृपया ..


सुझाए गए प्रश्न में से कुछ भी काम नहीं कर रहा है। मैं एक कॉलम नहीं जोड़ सकता, फिर उसे निकाल सकता हूं। PhpMyadmin पर जाना अब मेरी पसंद है।
19

पीके की आवश्यकता है, यहां संबंधित एफएक्यू है - dev.mysql.com/doc/workbench/en/…
फिलिप ओल्सन

संभवतः उन लोगों के लिए प्रासंगिक MySQL वर्कबेंच बग, जिन्होंने इस थ्रेड को वेब खोज के साथ पाया: दृश्य के परिणाम ग्रिड संपादन योग्य नहीं हैं । ध्यान दें कि यह बग केवल उन विचारों से संबंधित है, जो " अद्यतन करने योग्य " होने के लिए आवश्यक अन्य सभी बाधाओं को पूरा करते हैं और सीधे नए प्रश्नों के साथ संशोधित किया जा सकता है।
TheDudeAbides

जवाबों:


77

मैं मान रहा हूं कि तालिका में एक प्राथमिक कुंजी है। पहले यह देखने के लिए कि वह इसे ठीक करता है, अनलॉक टेबल कमांड चलाने का प्रयास करें।

यदि बाकी सब विफल हो जाता है तो आप ऑटो-इंक्रीमेंट के साथ एक नया प्राथमिक कुंजी कॉलम बनाने के लिए तालिका को बदल सकते हैं और इसे उम्मीद से ठीक करना चाहिए। एक बार जब आप कर लेते हैं तो आपको बिना किसी समस्या के कॉलम को हटाने में सक्षम होना चाहिए।

हमेशा की तरह आप चारों ओर तालिकाओं को बदलने से पहले एक बैकअप बनाना चाहते हैं। :)

नोट: MySQL कार्यक्षेत्र एक प्राथमिक कुंजी के बिना काम नहीं कर सकता है अगर यह आपकी समस्या है। हालाँकि यदि आपके पास कई से कई टेबल हैं तो आप दोनों कॉलम को प्राथमिक कुंजी के रूप में सेट कर सकते हैं जो आपको डेटा को संपादित करने देगा।


5
वास्तव में मेरी समस्या यह है कि मैं अपनी तालिका में प्राथमिक कुंजी नहीं रखना चाहता। कृपया इस प्रश्न के अन्य उत्तर का संदर्भ लें।
एस्केलिनेंसी

2
मुझे नहीं लगता कि आप MYSQL कार्यक्षेत्र में क्या संभव है क्योंकि प्रोग्राम को पिन को इंगित करने के लिए एक प्राथमिक कुंजी की आवश्यकता होती है जिसे आप संपादित करना चाहते हैं।
थॉमस बी

ओकी। थैंक यू थॉमस। मैंने अपनी मेज में प्राथमिक कुंजी को शामिल किया है।
एस्केलिनेंसी

मैं DBeaver का उपयोग कर रहा था और उसी समस्या का सामना कर रहा था। डिस्कनेक्ट करना और कनेक्ट करना फिर से हल हो गया!
लाफलेउर

31

यदि तालिका में प्राथमिक कुंजी या विशिष्ट गैर-अशक्त परिभाषित नहीं है, तो MySql कार्यक्षेत्र डेटा को संपादित करने में सक्षम नहीं हो सकता है।


मुझे लगता है कि इसके लिए कोई समाधान नहीं हैं।

14

यदि आप अपने DB कनेक्शन के लिए एक डिफ़ॉल्ट स्कीमा सेट करते हैं, तो चयन तब तक आसानी से किया जाएगा जब तक आप स्पष्ट रूप से अपना स्कीमा सेट नहीं करते

USE mydb;
SELECT * FROM mytable

यह संपादन मोड में भी चलेगा:

SELECT * FROM mydb.mytable 

(MySql 5.2.42 / MacOsX)

आशा है कि ये आपकी मदद करेगा।


9

यह MySQLWorkbench में ज्ञात सीमा है (आप तालिका w / o PK को संपादित नहीं कर सकते हैं):

तालिका संपादित करने के लिए:

विधि 1: (somecases में काम नहीं करने वाली विधि)
ऑब्जेक्ट ब्राउज़र के भीतर एक तालिका पर राइट-क्लिक करें और वहां से संपादन तालिका डेटा विकल्प चुनें।

विधि 2:
मैं आपको इसके बजाय प्राथमिक कुंजी जोड़ने का सुझाव दूंगा:

ALTER TABLE `your_table_name` ADD PRIMARY KEY (`column_name`);

और आप पहले मौजूदा पंक्तियों को हटाना चाहते हैं:

Truncate table your_table_name

1
MySQL कार्यक्षेत्र के अधिक हाल के संस्करणों (मेरा 6.3 है) में "एडिट टेबल डेटा" विकल्प नहीं है।
जॉनप

6

Mysql कार्यक्षेत्र में "केवल पढ़ने के लिए" आइकन पर होवर करना एक टूलटिप दिखाता है जो बताता है कि इसे संपादित क्यों नहीं किया जा सकता है। मेरे मामले में यह कहा गया है, केवल प्राथमिक कुंजी या अद्वितीय गैर-अशक्त स्तंभों वाली तालिकाओं को संपादित किया जा सकता है।


आप इस आइकन की बात कहां कर रहे हैं
ब्रैड केंट

1
अपने आप को जवाब देना: यह नीचे और कार्यक्षेत्र 6.3 पर परिणाम के दाईं ओर है
ब्रैड केंट

3

MySQL कार्यक्षेत्र में आपको संपादित करने के लिए एक INDEX की आवश्यकता होती है, इसे PK होने की आवश्यकता नहीं होती है (हालाँकि PK जोड़ना एक समाधान भी है)।

आप एक नियमित INDEX या कंपाउंड INDEX बना सकते हैं। यह सब MySQL WB को केवल पढ़ने के लिए ठीक करने की आवश्यकता है (मेरे पास v। 6.2 मारियाडीबी v। 10.1.4 के साथ) है।

बस राइट क्लिक टेबल, "ऑल्टर टेबल ..." चुनें फिर "इंडेक्स" टैब पर जाएं। बाएँ फलक में अपने अनुक्रमणिका के लिए एक कस्टम नाम रखा है, और मध्य फलक में चेकमार्क एक (सुनिश्चित करें कि येल अद्वितीय होगा) या अधिक फ़ील्ड (बस यह सुनिश्चित करें कि संयोजन अद्वितीय है)


3

जब मैं प्राथमिक कुंजी का चयन कर रहा था तब भी मुझे केवल-पढ़ने में समस्या हो रही थी। मुझे अंततः पता चला कि यह एक आवरण समस्या थी। जाहिरा तौर पर पीके कॉलम को टेबल में परिभाषित के रूप में ही कैस किया जाना चाहिए। उपयोग: विंडोज़ पर कार्यक्षेत्र 6.3

सिफ़ पढ़िये

लेड लीड, फर्स्टनाम, लास्टनाम, डेटसेक्टेड फ्रॉम लीड;

अनुमति दी गई संपादित करें

लीड लीड का चयन करें, फर्स्टनाम, लास्टनाम, डेट सीरीटेड फ्रॉम लीड;


1

इस बग के अनुसार , कुछ लोगों के लिए वर्कबेन्च 5.2.38 में मुद्दा तय किया गया था और शायद दूसरों के लिए 5.2.39 - क्या आप नवीनतम संस्करण (5.2.40) में अपग्रेड कर सकते हैं ?

वैकल्पिक रूप से, इसके साथ काम करना संभव है:

SELECT *,'' FROM my_table

इस तरह की त्वरित प्रतिक्रिया के लिए धन्यवाद .. अल्टरनेट सिलेक्ट काम नहीं कर रहा है .. लेकिन मैं अपग्रेड कर सकता हूं .. अपग्रेड करूंगा और इसे चेक करूंगा .. बहुत बहुत धन्यवाद। जैसे ...
EscalinNancy

@EscalinNancy: उस बग रिपोर्ट में एक अन्य व्यक्ति ने टिप्पणी की कि एक वैकल्पिक समाधान एक उदाहरण के लिए एक फ़ंक्शन का उपयोग करना है SELECT *, CONCAT('','') FROM my_table। शायद यह आपके लिए काम करेगा?
एग्यगल

नहीं .. इसका काम नहीं कर रहा है .. परिणाम में एक और कॉलम के रूप में कॉनैट (''। '') मिल रहा है, लेकिन अभी भी डेटा केवल पढ़ा जाता है .. अब WB को अपग्रेड कर
हूं

@EscalinNancy: मुझे यह सुनकर खेद है :( यह संभव है कि यहां पर किसी और को एक विचार हो सकता है कि समस्या क्या है - लेकिन यह अधिक संभावना है कि यदि आप मेरे उत्तर को अस्वीकार करते हैं तो वे इस प्रश्न को देखेंगे।
eggyal

5.2.44 में भी ऐसा ही मामला है। डेटाबेस एक उत्पादक है और कार्यक्षेत्र के पिछले संस्करण में ठीक काम करता है।
पृथ्वी इंजन

0

मैनिटोबा के पद से प्रेरित होकर, मुझे एक और समाधान मिला। सारांश के रूप में, समाधान हैं:

  1. एक USE कमांड के साथ

    USE mydb;
    SELECT * FROM mytable
    
  2. एक स्पष्ट स्कीमा उपसर्ग के साथ:

    SELECT * FROM mydb.mytable
    
  3. जीयूआई

    ऑब्जेक्ट ब्राउज़र "SCHEMAS" फलक पर, सभी डेटाबेस आइकन शुरू में हाइलाइट नहीं किए जाते हैं यदि आपके पास एक ही मुद्दा है। तो आप उस डेटाबेस आइकन पर राइट क्लिक कर सकते हैं जिसे आप डिफ़ॉल्ट होना चाहते हैं, "डिफ़ॉल्ट स्कीमा के रूप में सेट करें" चुनें।


0

1.) आपको प्राथमिक कुंजी को अद्वितीय बनाना होगा, फिर आपको संपादित करने में सक्षम होना चाहिए।

"ब्लू" स्कीमा में आप टेबल पर राइट क्लिक करें -> पहले से ही, अपनी प्राइमरी की (पीके) की तलाश करें, फिर चेक बॉक्स, यूएन, एआई को पहले से ही चेक कर लें। उसके बाद बस आवेदन करें और आपको तालिका डेटा को संपादित करने में सक्षम होना चाहिए।

2.) आपको प्राइमरी कुंजी I आपका चयन विवरण भी शामिल करना होगा

एनआर 1 वास्तव में आवश्यक नहीं है, लेकिन एक अच्छा अभ्यास है।


0

यदि आपकी क्वेरी में कोई JOIN है, तो Mysql कार्यक्षेत्र आपको तालिका को बदलने की अनुमति नहीं देगा, भले ही आपके परिणाम सभी एक ही तालिका से हों।

उदाहरण के लिए, निम्नलिखित क्वेरी

SELECT u.* FROM users u JOIN passwords p ON u.id=p.user_id WHERE p.password IS NULL;

आपको परिणाम संपादित करने या पंक्तियों को जोड़ने की अनुमति नहीं देगा, भले ही परिणाम एक तालिका तक सीमित हों। आपको विशेष रूप से कुछ करना चाहिए:

SELECT * FROM users WHERE id=1012;

और फिर आप पंक्ति को संपादित कर सकते हैं और तालिका में पंक्तियों को जोड़ सकते हैं।


मुझे समझ में नहीं आता कि पहली क्वेरी क्यों काम नहीं करती है, लेकिन कम से कम निम्नलिखित क्वेरी काम करती है। आप निम्नलिखित क्वेरी कार्यों को संपादित कर सकते हैं। SELECT u.* FROM users u WHERE u.id IN (SELECT user_id FROM passwords WHERE p.password IS NULL);
टॉक

0

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

चिह्नित चेक को अनचेक करें, यह ग्रिड एडिट को सक्षम करेगा


0

जब आप दो तालिकाओं को जोड़कर प्राप्त करते हैं, तो MySQL रीड-ओनली मोड में चलेगा और परिणाम में दो तालिकाओं के कॉलम शामिल होंगे। तब आप सीधे मानों को अपडेट नहीं कर सकते।


0

हां, मैंने पाया कि MySQL परिणाम तालिका को भी संपादित नहीं कर सकता है। आमतौर पर परिणाम अन्य तालिकाओं में शामिल होने वाली तालिका में प्राथमिक कुंजी नहीं होती है। मैंने सुना है कि अन्य ने परिणाम तालिका को किसी अन्य तालिका में रखा है, लेकिन बेहतर उपाय Dbeaver का उपयोग करना है जो परिणाम तालिका को संपादित कर सकता है।

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