MySQL4.1.13の入力補完についての質問です。select delete などのコマンドはtabキーによる入力補完が出来るのですが、table名やfield名などの補完ができません。また、別のサーバーに入っているMySQL4.1.13ではtable名やfield名の補完ができています。この二者の設定の差分を探してみましたが、見つかりません。どうして出来るものと出来ないものがあるのでしょう?出来れば両方とも補完が出来る状態にしたいので、出来ないほうを出来るようにできる設定をご存知の方、または見当が付く方のみお答えください。サーバーのOSは両方ともFreeBSDです。
mysql --auto-rehash
と mysqlコマンドを起動する際に"--auto-rehash" オプションをつけるか
MySQLプロンプトにて rehash コマンドを実行すれば補完できるようになりませんか?
MySQLプロンプトの後ろに、「show tables」と入力してEnterキーを入力すると、どのようなメッセージが表示されるでしょうか。
もしかしたら、No database selectedと表示されていませんか?
そうだとすれば、対象データベースが選択されていないことが原因だと考えられます。
MySQLプロンプトの後ろに、「use データベース名」 を入力するか、あるいはMySQLにログインする際に、-D オプションでデータベース名を指定すれば、入力補完が可能になると思います。
外していたら、申し訳ありません。
URLはダミーです。
もちろん、use database名 や、show tables; などは問題なく実行できますし、Mysqlに関する基本的な使い方などは存じております。tabキーの入力補完という表現が良くなかったのかもしれませんが、例えば select * from hogehoge; を入力しようと思ったとき、もちろん全てキーボードのアルファベットキーを押して入力しても良いのですが、sel まで入力してキーボードのtabキーを押すと、select と自動的に入力してくれると思います。そして、hogehogeにあたる固有名詞の部分も、hog と入力してtabキーを押すと hogehoge まで自動で入力されます。このことをここではtabキーの入力補完と呼んでいました。説明させていただきました前者の機能は両方のサーバで実行できるのですが、後者の方が片方の(仕事で使っている方の)サーバーで実行できないのです。
mysql --auto-rehash
と mysqlコマンドを起動する際に"--auto-rehash" オプションをつけるか
MySQLプロンプトにて rehash コマンドを実行すれば補完できるようになりませんか?
できました!ありがとうございます!感動しました!
できました!ありがとうございます!感動しました!