tag:forum.selfhtml.org,2005:/self MySQL: Index als auch Foreign Key in einem Query aus der Datenbank auslesen – SELFHTML-Forum 2020-10-08T08:42:06Z https://forum.selfhtml.org/self/2020/oct/08/mysql-index-als-auch-foreign-key-in-einem-query-aus-der-datenbank-auslesen/1776277#m1776277 T-Rex 2020-10-08T08:19:03Z 2020-10-08T08:19:03Z MySQL: Index als auch Foreign Key in einem Query aus der Datenbank auslesen <p>Moin,</p> <p>ich versuche gerade einen Query zusammen zu bauen in dem ich sowohl einen Indexeintrag aus der Datenbank bekomme als auch einen kompletten Foreign Key Eintrag.</p> <pre><code class="block">SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE CONSTRAINT_SCHEMA = 'mySchema' </code></pre> <p>Dieser Query gibt mir alle Foreign Keys (und anscheinend die Primary Indizes) inklusive Referenz-Tabelle und Referenz-Feld aus. Es fehlen jedoch die "normalen" Index-Einträge.</p> <pre><code class="block">SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = 'mySchema' </code></pre> <p>Dieser Query gibt mir alle Indizes inklusive Primary und Foreign Keys zurück. Es fehlen jedoch leider die Referenz-Tabelle und das Referenz-Feld. Meine Versuche ein Join hin zu bekommen sind bislang fehl geschlagen.</p> <p>Im Moment habe ich noch den Drang alles in einer Abfrage zu machen. Falls ich es nicht schaffe und ihr keine gute Idee habt, muss ich wohl zwei Abfragen machen.</p> <p>Gruß kämpfender T-Rex</p> https://forum.selfhtml.org/self/2020/oct/08/mysql-index-als-auch-foreign-key-in-einem-query-aus-der-datenbank-auslesen/1776278#m1776278 T-Rex 2020-10-08T08:42:06Z 2020-10-08T08:42:06Z MySQL: Index als auch Foreign Key in einem Query aus der Datenbank auslesen <p>Hab es selbst geschafft ... hab echt lange keinen join mehr zusammengebaut ... früher ging das deutlich schneller.</p> <pre><code class="block">SELECT * FROM INFORMATION_SCHEMA.STATISTICS left join INFORMATION_SCHEMA.KEY_COLUMN_USAGE on INFORMATION_SCHEMA.KEY_COLUMN_USAGE.CONSTRAINT_SCHEMA = 'mySchema' and INFORMATION_SCHEMA.KEY_COLUMN_USAGE.CONSTRAINT_NAME = INFORMATION_SCHEMA.STATISTICS.INDEX_NAME WHERE INFORMATION_SCHEMA.STATISTICS.TABLE_SCHEMA = 'mySchema' and INFORMATION_SCHEMA.STATISTICS.INDEX_NAME != 'PRIMARY' </code></pre> <p>Wie man sieht habe ich die Primarys heraus genommen. Ich brauche sie nicht. Der Query wird wohl auch nicht mit primarys funktionieren. Da diese alle die gleichen Namen haben, gibt es eine sehr große Kreuztabelle. Es werden auch Kreuzungen erzeugt die nicht zusammen passen. Wobei mir gerade einfällt, es funktioniert bei mir auch nur, weil ich eindeutige Indices Namen vergebe. Dennoch hoffe ich, dass noch jemand von dem Query profitieren kann.</p> <p>Gruß Primary T-Rex</p>