كيف يمكنني عرض النقط مباشرة في طاولة عمل MySQL

StackOverflow https://stackoverflow.com/questions/4343945

  •  30-09-2019
  •  | 
  •  

سؤال

أنا أستخدم MySQL Workbench CE 5.2.30 CE / Rev 6790. عند تنفيذ البيان التالي:

SELECT OLD_PASSWORD("test")

أنا فقط أعود لطيفة BLOB أيقونة ، أحتاج إلى النقر الأيسر لتحديد الخلية ، والنقر بزر الماوس الأيمن واختيار "فتح القيمة في العارض" وحدد علامة التبويب "النص".

باستخدام نفس الشيء مع phpmyadmin ، أحصل مباشرة على قيمة OLD_PASSWORD مكالمة. إنه مجرد مثال ، ولكن هل هناك طريقة لرؤية هذه النتائج مباشرة في الإخراج؟

هل كانت مفيدة؟

المحلول

بالمختصر:

  1. اذهب إلى يحرر > التفضيلات
  2. يختار محرر SQL
  3. تحت تنفيذ SQL, ، التحقق من تعامل
  4. أعد تشغيل طاولة عمل MySQL (لن تتم مطالبتك أو إبلاغك بهذا المطلب).

في MySQL Workbench 6.0+

  1. اذهب إلى يحرر > التفضيلات
  2. يختار استعلامات SQL
  3. تحت نتائج الاستعلام, ، التحقق من تعامل
  4. ليس من الضروري إعادة تشغيل طاولة عمل MySQL (لن تتم مطالبتك أو إبلاغك بهذا المطلب).*

مع هذا الإعداد ، ستتمكن من تسلسل الحقول دون الحصول على النقط.

أعتقد أن هذا ينطبق على الإصدارات 5.2.22 وبعد ذلك وهو نتيجة هذا الخطأ mysql.

إخلاء المسؤولية: لا أعرف ما هو الجانب السلبي لهذا الإعداد - ربما عندما تختار BINARY/VARBINARY القيم التي سترونها نصًا عاديًا قد يكون مضللاً و/أو ربما يعوق الأداء إذا كانت كبيرة بما يكفي؟

نصائح أخرى

أداء ثلاث خطوات:

  1. انتقل إلى "تفضيلات Workbench" -> اختر "محرر SQL" ضمن "نتائج الاستعلام": تحقق "علاج ثنائي/varbinary كسلسلة أحرف غير عامة"

  2. أعد تشغيل MySQL Workbench.

  3. الآن حدد SELECT SUBSTRING(BLOB<COLUMN_NAME>,1,2500) FROM <Table_name>;

لست متأكدًا مما إذا كان هذا يجيب على السؤال ولكن إذا قمت بالنقر بزر الماوس الأيمن على أيقونة "blob" في الحقل (عند عرض الجدول) ، فهناك خيار "فتح القيمة في المحرر". تتيح لك إحدى علامات التبويب عرض النقطة. هذا في ver. 5.2.34

أعمال الصب ، لكنها ألم ، لذلك أوصي باستخدام طريقة Spioter ما لم تكن تستخدم الكثير من بيانات Blob حقًا.

SELECT CAST(OLD_PASSWORD("test") AS CHAR)

يمكنك أيضًا الإلقاء كنوع أخرى ، وحتى تقييد الحجم ، لكن في معظم الأوقات أستخدمها فقط:http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html#function_cast

لا يبدو أنه من الممكن أخشى ، مدرج في القائمة كخشب في Workbench:http://bugs.mysql.com/bug.php؟id=50692سيكون مفيدًا جدًا!

كان لديه نفس المشكلة ، وفقا ل وثائق MySQL, ، يمكنك اختيار فرعية من النقطة:

SELECT id, SUBSTRING(comment,1,2000) FROM t

HTH ، Glissi

مقعد العمل 6.3
اتبع إجابة التسجيل العالي ثم استخدم UNCOMPRESS()

(بالمختصر:
1. انتقل إلى التحرير> التفضيلات
2. اختر محرر SQL
3. تحت تنفيذ SQL ، تحقق من علاج ثنائي/varbinary كسلسلة أحرف غير عامة
4. أعد تشغيل طاولة عمل MySQL (لن تتم مطالبتك أو إبلاغك بهذا المطلب).).

ثم

SELECT SUBSTRING(UNCOMPRESS(<COLUMN_NAME>),1,2500) FROM <Table_name>;

أو

SELECT CAST(UNCOMPRESS(<COLUMN_NAME>) AS CHAR) FROM <Table_name>;

إذا وضعت للتو UNCOMPRESS(<COLUMN_NAME>) يمكنك النقر بزر الماوس الأيمن فوق Blob والنقر فوق "فتح القيمة في المحرر".

لقد قمت بتجميع عدد قليل من المنشورات الأخرى معًا ، لأن إصلاح "تفضيلات" Workbench لم ينجح بالنسبة لي. (WB 6.3)

SELECT CAST(`column` AS CHAR(10000) CHARACTER SET utf8) FROM `table`;

هناك القليل من الأشياء التي يمكنك القيام بها

SELECT GROUP_CONCAT(CAST(name AS CHAR))
FROM product
WHERE  id   IN (12345,12346,12347)

إذا كنت ترغب في الطلب عن طريق الاستعلام ، فيمكنك طلبها من خلال الممثلين كما هو موضح أدناه

SELECT GROUP_CONCAT(name ORDER BY name))
FROM product
WHERE id   IN (12345,12346,12347)

كما تقول في هذه المدونة

http://www.kdecom.com/mysql-group-concat-lob-bug-solved/

ملاحظة: الإجابات السابقة هنا ليست مفيدة بشكل خاص إذا كانت النقطة عبارة عن تسلسل تعسفي للبايت ؛ على سبيل المثال ، ثنائي (16) لتخزين 128 بت GUID أو MD5 Checksum.

في هذه الحالة ، لا يوجد حاليًا تفضيل المحرر - على الرغم من أنني لدي قدم طلب ميزة الآن - راجع هذا الطلب للحصول على تفسير أكثر تفصيلاً.

حتى/ما لم يتم تنفيذ طلب الميزة] ، فإن الحل هو HEX وظيفة في الاستعلام: SELECT HEX(mybinarycolumn) FROM mytable.


البديل هو الاستخدام phpmyadmin بدلاً من Workbench MySQL - هناك سداسي عشرية افتراضيًا.

select CONVERT((column_name) USING utf8) FROM table;

في حالتي ، لا يعمل Workbench. لذلك استخدمت الحل أعلاه لإظهار بيانات Blob كنص.

حدد *، تحويل (Uncompress (العمود) باستخدام "UTF8") كعمود من Table_Name

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top