MySQL TABでコード補完を行う方法

linuxを操作していて、TABで補完されていたのに、MySQLを起動したらTAB補完されない...ってなんか不便ですよね。

MySQLにも何か用意されているだろうと調べてみると、

--auto-rehash

というオプションがあるとの情報が。

さっそく使ってみます。

 

rehashオプションを使用してみる

mysql -u ユーザ名 -p --auto-rehash

 

これでログインすれば、できるっぽいという情報を受けて、やってみたもののTAB補完されない...。

こういうときは落ち着いて、公式のドキュメントを確認します。

私の使用しているMySQLのバージョンが5.6なので

https://dev.mysql.com/doc/refman/5.6/ja/mysql-command-options.html#option_mysql_auto-rehash

ですね。

バージョンの確認方法は、

-bash-4.2$ mysql --version
mysql  Ver 14.14 Distrib 5.6.45, for Linux (x86_64) using  EditLine wrapper

 

一応、公式のドキュメントの一部を張り付けておきます。

以下引用

--auto-rehash

自動リハッシュを有効にします。このオプションはデフォルトでオンになっており、データベース、テーブル、およびカラムの名前補完が可能になります。リハッシュを無効にするには、--disable-auto-rehash を使用します。これにより、mysql の起動がより高速になりますが、名前補完を使用する場合は rehash コマンドまたはそのショートカット \# を発行する必要があります。

名前を補完するには、最初の部分を入力して Tab を押します。名前があいまいでない場合、mysql がその名前を補完します。そうでない場合は、Tab をもう一度押して、これまでに入力した値で始まる、考えられる名前を表示できます。デフォルトのデータベースがない場合、補完は行われません。

 

 

ここで大事なのは、この部分ですね。

デフォルトのデータベースがない場合、補完は行われません。

 

要するに使用するデータベースを指定しろということです。

 

ログイン後に

use データベース名

 

で使用するDBを選択したら、しっかりと補完されるようになりました。

 

コメントを残す

CAPTCHA