لماذا يتم حفظ 64 كيلو بايت فقط من البيانات في عمود بيانات MySQL الخاص بي؟

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

  •  03-07-2019
  •  | 
  •  

سؤال

أحاول إدراج سلسلة نصية طويلة جدًا في عمود MySQL Blob، لكن MySQL يحفظ فقط 64 كيلو بايت من البيانات.يبلغ طول السلسلة 75360 حرفًا.أنا على اتصال مع PHP mysql_connect().

أيه أفكار؟

هل يحدث فرقًا إذا كان Blob أو Text.لقد حصلت عليه في الأصل كنص ولكن قمت بتغييره دون أي تأثير.

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

المحلول

ولأن هذا هو الحجم الأقصى من BLOB عمود. تحتاج إلى استخدام MEDIUMBLOB / LONGBLOB أو MEDIUMTEXT / LONGTEXT.

نصائح أخرى

أ BLOB يمكن لـ MySQL تخزين ما يصل إلى 65.534 بايت، إذا حاولت تخزين أكثر من هذا القدر من البيانات، فسوف يقوم MySQL باقتطاع البيانات. MEDIUMBLOB يمكنه تخزين ما يصل إلى 16,777,213 بايت، و LONGBLOB يمكن تخزين ما يصل إلى 4,294,967,292 بايت.

إذا قمت بتمكين وضع SQL الصارم (أوضاع MySQL) سوف تحصل على خطأ عند محاولة تخزين البيانات التي لا تتناسب مع نوع العمود.

ويطلب منك أيضا إذا كان هناك فرق بين BLOB وTEXT
النقط هي لالبيانات الثنائية. إذا كنت تفعل الاستعلام مثل على حقل BLOB سيكون حالة الأحرف.

وأي بمعنى.

SELECT 'TEXT' LIKE 'TEXT';
=> 1 for both BLOB and TEXT

SELECT 'TEXT' LIKE 'text';
=> 1 for TEXT
=> 0 for BLOB

يبلغ حجم عمود النقطة 64 كيلو بايت فقط لكل وثائق

جرب نوع عمود متوسط ​​بدلاً من ذلك...

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