فقدان البيانات في الخلية عن طريق MEDIUMTEXT وصفحات

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

سؤال

وبطريقة ما GROUP_CONCAT قادرة على محاصرة ستة "صفحات" من مقالة (كل المخزنة على TEXT) وإرم لهم في MEDIUMTEXT احد دون فقدان أي بيانات، ولكن هناك بعض من صفحة واحدة المواد التي تكون أطول من المعتاد (ولكن من الواضح أن ندخلها ضمن نوع البيانات TEXT) التي تفقد كمية كبيرة من البيانات. أحد يعرف ما الأمر؟

والاستعلام الأصلي:

SET group_concat_max_len = 16000000;
UPDATE Threads t SET t.Content = (SELECT GROUP_CONCAT(a.Content ORDER
BY a.PageID SEPARATOR '<!-- pagebreak -->') FROM MSarticlepages a
WHERE a.ArticleID = t.MSthreadID GROUP BY a.ArticleID);

وشكرا مرة أخرى لأخذ الوقت لتوجيه نفسي جاهل!

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

المحلول

والدليل المرجعي لماي 5.0 (<لأ href = "http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat" يختلط = "نوفولو noreferrer "> http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat ) ما يلي:

<اقتباس فقرة>   

بداية مع الخلية 5.0.19، نوع   عاد من GROUP_CONCAT () دائما   VARCHAR ما لم group_concat_max_len هو   أكبر من 512، وفي هذه الحالة، فإنه   إرجاع BLOB. (سابقا،   عاد BLOB مع   group_concat_max_len أكبر من 512   إلا إذا تضمن الاستعلام على ORDER BY   الشرط.)

وبناء على هذه البيانات، نوع الإرجاع سيكون BLOB، وليس MEDIUMTEXT. Wwould من الممكن أن سلسلة في مجموعه هو أكثر من 2 ^ 16 (65536 بايت)، وهو الحد الأقصى لBLOB؟

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