두 개의 특정 열 이름을 찾으려면 information_schema.columns를 사용하십시오. 여기에서 columnA 대신 Id를 사용하고 columnB 대신 Name을 사용하고 있습니다 -
mysql> select table_name as TableNameFromWebDatabase -> from information_schema.columns -> where column_name IN ('Id', 'Name') -> group by table_name -> having count(*) = 3;
그러면 다음과 같은 출력이 생성됩니다. 다음은 Id 및 Name 열이 있는 테이블입니다 -
+--------------------------+ | TableNameFromWebDatabase | +--------------------------+ | student | | distinctdemo | | secondtable | | groupconcatenatedemo | | indemo | | ifnulldemo | | demotable211 | | demotable212 | | demotable223 | | demotable233 | | demotable251 | | demotable255 | +--------------------------+ 12 rows in set (0.25 sec)
이를 증명하기 위해 테이블 중 하나에 대한 설명을 확인해 보겠습니다. 다음은 쿼리입니다 -
mysql> desc demotable233;
그러면 다음과 같은 출력이 생성됩니다. 여기에서 Int 및 Name 열이 있는 것을 볼 수 있습니다.
+-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+----------------+ 2 rows in set (0.00 sec)