Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Търсене на стойност в множество бази данни

Това трябва да ви помогне да започнете:

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'
;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP формуляр не се вмъква в mySQL база данни

  2. Продукти на Magento импортират от базата данни с помощта на SQL заявка

  3. Дати на системата за резервации

  4. изпълнете cronjob точно веднъж

  5. Моделиране на бази данни:Как да категоризираме продукти като Amazon?