これで始められます:
SELECT table_schema
FROM information_schema.columns
WHERE table_name = 'table1' AND column_name = 'id'
;
これにより、使用しているプログラミング言語で結果を使用して、これらの各データベースに固有のクエリを作成できます。
代わりに、私は最近、これに似た境界性の虐待を見つけています。
SELECT CONCAT("SELECT '", table_schema, "' "
"FROM `", table_schema, "`.`", table_name, "` "
"WHERE `", column_name, "` = ", searchId
) AS qStr
FROM information_schema.columns
WHERE table_name = 'table1' AND column_name = 'id'
;
この結果をUNION
で連結します の間に、結果のクエリは、値がsearchIdと一致するその名前(および列)のテーブルを持つすべてのスキーマのリストを提供する必要があります。
編集:上記の不適切なバッククォートを一重引用符に置き換え、...これを以下に追加しました。
SET @criteriaVal := "'somestring'";
-- SET @criteriaVal := 3; -- for example
SELECT CONCAT("SELECT '", table_schema, "' "
"FROM `", table_schema, "`.`", table_name, "` "
"WHERE `", column_name, "` = ", @criteriaVal
) AS qStr
FROM information_schema.columns
WHERE table_name = 'table1' AND column_name = 'id'
;