MySQLは出力先が標準出力かファイルかによって内容を変える

こちらのブログの受け売りになりますが、タイトルのとおりです。 MySQL の結果を csv 形式で標準出力させたい - BOOLEANLABEL # 標準出力への出力と $ mysql -u root mysql -e 'select count(*) from user' +----------+ | count(*) | +----------+ | 6 | +----------+ # ファイルへの出力は異なります。 $ mysql -u root mysql -e 'select count(*) from user' > /tmp/hoge && cat /tmp/hoge count(*) 6 isatty(3)で判定しているそうです。 /* mysql-5.6.21/client/mysql.ccの1233行目 */ if (!isatty(0) || !isatty(1)) { status.batch=1; opt_silent=1; ignore_errors=0; } else status.add_to_history=1; 実際に使ってみました。 /* test.c */ #include <stdio....

2014-10-31 (Fri) · masutaka