-1

我有几个具有相同名称的表的数据库。

我的意思是,我有以下数据库 mydb1mydb2等等

每个 mydb 都有一个名为myTable. 但是这些表有不同的列:

myTable in mydb1
id, name, age

myTable in mydb2
id, name, street, size

现在,如果我只有一个 Databasemydb1那么我也只有一个 Table 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.

如何仅从一个中获取列名myTable

提示:我只想拥有列名而不是类型,nulls oder 键。因此,该请求show columns from mydb1.myTable不是我想要的。

4

1 回答 1

1

表中的TABLE_SCHEMAcolumns包含数据库名称,因此您可以这样做:

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