sql >> Databáze >  >> RDS >> Mysql

Propojit více tabulek v různých databázích? MySql

Dobrou strategií pro vás může být definování jednoho uživatele MySQL, který má stejný přístup k oběma databázím. Něco jako toto:

GRANT ALL ON siteinfo.* TO [email protected] IDENTIFIED BY 'password';
GRANT ALL ON sitedescriptions.* TO [email protected] IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Jakmile vytvoříte připojení jako tento uživatel, budete mít přístup k oběma databázím a můžete na ně snadno odkazovat přidáním předpony názvů tabulek názvu databáze.

SELECT * FROM siteinfo.sites;

Tímto způsobem můžete dokonce bez problémů spojit své tabulky napříč databázemi. Chcete-li tedy odpovědět na vaši druhou otázku, chcete-li získat všechny tři řádky popisu pro web, můžete to udělat (za předpokladu, že weby mají stejná ID v každé databázi nebo stejný název nebo něco jedinečného, ​​ke kterému se můžete připojit):

SELECT * FROM
    siteinfo.sites AS s LEFT JOIN 
    sitedescriptions.description AS d ON s.siteId=d.siteId
WHERE s.siteId=123;


  1. Jak vypočítat celkové hodiny cesty mezi městem x a y a naopak

  2. Úrovně izolace SQL serveru:Řada A

  3. Čtení znaků jako č ć đ š ž z databáze MySql

  4. Nelze změnit sloupec použitý v omezení cizího klíče