كيفية تضمين فاصلة منقوطة ( " ؛ " ) في أمر بيجر الخلية

dba.stackexchange https://dba.stackexchange.com/questions/68129

  •  11-12-2019
  •  | 
  •  

سؤال

لقد اكتشفت للتو pager الأمر في الخلية العميل سطر الأوامر ، وأنا أواجه طن من المرح.هذا بلوق وظيفة كبيرة:

http://www.mysqlperformanceblog.com/2008/11/21/how-to-calculate-a-good-innodb-log-file-size/

للأسف كمبرمج بيرل أجد نفسي الرغبة في القيام الاستدعاء أكثر وأكثر تعقيدا ، ولقد ضرب في مشكلة:لا يبدو أنني قادر على استخدام حرف فاصلة منقوطة في أمر النداء الخاص بي.

بسيطة:

mysql> pager md5sum
PAGER set to 'md5sum'
mysql> select id from listings limit 5;
cfbe10c0a46ea57f6fa199bc9e05ed3a  -

أكثر تعقيدا ولكن لا يزال على ما يرام:

mysql> pager perl -nle 'print "    $_"'
PAGER set to 'perl -nle 'print "    $_"''
mysql> select id from listings limit 5;
    +---------+
    | id      |
    +---------+
    | 2003921 |
    | 7164746 |
    | 7166576 |
    | 7166605 |
    | 7166853 |
    +---------+

(هذا واحد مفيد للتعامل مع تخفيض السعر!)

ولكن للأسف إذا قمت بإضافة فاصلة منقوطة في نهاية بياني تقول لدي خطأ في بناء الجملة:

mysql> pager perl -nle 'print "    $_";'
    -> \c

mysql> pager perl -nle 'print "    $_";';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'pager perl -nle 'print "    $_";'' at line 1

لقد حاولت الهروب من الفاصلة المنقوطة في أمر بيرل بشرطة مائلة للخلف أو اثنتين (في حالة احتياج الشرطة المائلة للخلف نفسها إلى الهروب) ولكن يبدو أن لا شيء يعمل.

هل من الممكن تضمين فاصلة منقوطة في أمر النداء?

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

المحلول

حاول تعيين المحدد إلى شيء آخر غير ;

     mysql> DELIMITER endl
     mysql>

ثم يمكنك تعيين النداء مع الفاصلة المنقوطة:

     mysql> pager pager perl -nle 'print "    $_";'endl
     PAGER set to 'pager perl -nle 'print "    $_";''

ثم يمكنك العودة إلى ;

     mysql> DELIMITER ;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى dba.stackexchange
scroll top