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)?