sql >> Database >  >> RDS >> Mysql

Hoe twee tabellen bij te werken met een enkele JOIN-instructie op de MYSQL-server?

Ten eerste, wanneer je de JOIN-UPDATE doet, heb je geen JOIN-voorwaarden toegevoegd.

#rows =  #rows_table1EN * #rows_table1ZH * ... * #rows_table1PT

Je moet LID worden op table1EN.id = table1xx.id voor elke tafel.

Het volgende probleem is dat u moet verwijzen naar elke kolom die u wilt wijzigen. Dit zal resulteren in:

SET table1EN.detail = 'String Value',
    table1ZH.detail = 'String Value'
    ...
    table1PT.detail = 'String Value'

Dit zou kunnen worden gedaan door de verklaring dynamisch op te bouwen, maar dat is behoorlijk afschuwelijk.

Dit alles brengt me ertoe om je databasestructuur in twijfel te trekken. Heb je overwogen om één tabel te gebruiken met een extra taalkolom; ofwel de tweeletterige identifier (OKish) of een vreemde sleutel naar een talentabel (beter)?



  1. Beperk de integerwaarde voor de kolom van mysql

  2. mysql SORTEER OP aantal unieke woordovereenkomsten

  3. .Net - Een on-demand recordset maken in plaats van alles in één keer in het geheugen te halen

  4. Uitvoering van Oracle Ad Hoc-query met foutieve bindingsparameters; ORA-00907:rechter haakje ontbreekt