Detta bör få dig igång:
SELECT table_schema
FROM information_schema.columns
WHERE table_name = 'table1' AND column_name = 'id'
;
Från detta kan du använda resultaten i vilket programmeringsspråk du än använder för att skapa frågor som är specifika för var och en av dessa databaser.
Alternativt har jag tyckt att borderline-missbruk liknande detta är till hjälp på sistone.
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'
;
Du sammanfogar resultaten av detta med UNION
mellan, och den resulterande frågan bör ge dig en lista över alla scheman som har en tabell med det namnet (och kolumnen) vars värde matchar sök-ID.
Redigera:Ersatte olämpliga backticks ovan med enkla citattecken, och... lade till detta nedan.
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'
;