home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

日記/2007/12/20/mysqlコマンドプロンプト上でtable名の補完

日記/2007/12/20/mysqlコマンドプロンプト上でtable名の補完

日記 / 2007 / 12 / 20 / mysqlコマンドプロンプト上でtable名の補完
id: 251 所有者: msakamoto-sf    作成日: 2007-12-20 22:21:39
カテゴリ: MySQL 

my.cnfのmysqlセクションに、こんな設定値がありました。

no-auto-rehash

そもそも、mysqlコマンドでのターミナル上で、table名がtabで補完してくれないよね、というところで、どうもこの設定をコメントアウトするだけで自動補完が効くようです。
試しにコメントアウトしてみたところ、(mysqlセクションなのでデーモンの再起動は不要)確かに、tabキーでselectやdescなどでtable名が自動補完されるようになります。

・・・なんだろ、これ。ということで、どうもman mysqlすると見つかったようです。
no-auto-rehash自体は、"auto-rehash機能を無効化する"設定値で、で、auto-rehashってなんぞやというと。

Enable automatic rehashing.
This option is on by default, which enables table and column name completion.
Use --skip-auto-rehash to disable rehashing.
That causes mysql to start faster, but you must issue the rehash command 
 if you want to use table and column name completion.

だ、そうです。えーっと、つまり、auto-rehashやっておけば手動でrehashコマンドを叩かなくていいですよー、ということ。で、スピード重視であるならば --skip-auto-rehash をしてrehash自体を止めるのがオススメとのこと。ただし、その場合も、mysqlプロンプト上で手動でrehashコマンドを叩けば、table名の自動補完が有効になる。(正確には自動補完用のhashが再構築される)

で、ちなみに、rehashコマンドのショートカットが

\#

だそうです。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-03-29 22:24:03
md5:153976b502326db5b5c85cdcb7365b8e
sha1:f9d57de1c9f4735c0d10ed2646da635f9b198598
コメント
コメントを投稿するにはログインして下さい。