-1

同じ名前のテーブルを持つデータベースがいくつかあります。

つまり、次のデータベースを取得しました mydb1,mydb2など

各 mydb には というテーブルがありますmyTable。ただし、これらのテーブルには diffenet 列があります。

myTable in mydb1
id, name, age

myTable in mydb2
id, name, street, size

ここで、 Database が 1 つしかない場合は、mydb1Table も 1 つしかありませんMyTable。そのテーブルのすべての列を知りたい場合は、次のSQLリクエストを行います

use information_schema;
select column_name from columns where table_name = 'myTable';

その場合、これはうまく機能し、探している列を取得します。

しかし、私の場合、異なるデータベースに MyTable という名前のテーブルがいくつかあります。そして、同じ sql リクエストが生成されます。

id, name, age, id, name, street, size

しかし、私はの列が欲しいだけですmydb1.myTable

たった1つの列名だけを取得するにはどうすればよいmyTableですか?

ヒント: 型ではなく列名、null をキーにしたいだけです。したがって、リクエストshow columns from mydb1.myTableは私が探しているものではありません。

4

1 に答える 1

1

テーブルのTABLE_SCHEMA列にcolumnsはデータベース名が含まれているため、次のようにすることができます。

select column_name from columns where table_name = 'myTable' AND table_schema = 'mydb1';
于 2011-05-02T12:52:01.983 に答える