sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo actualizar dos tablas con una sola instrucción JOIN en el servidor MYSQL?

En primer lugar, cuando realiza la ACTUALIZACIÓN DE UNIÓN, no ha incluido ninguna condición de UNIÓN... por lo que intentará hacer un producto cartesiano de cada tabla:

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

Debe UNIRSE en table1EN.id = table1xx.id para cada mesa.

El siguiente problema es que tendrá que hacer referencia a cada columna que desee cambiar. Esto resultará en:

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

Esto podría hacerse con la construcción dinámica de la declaración, pero eso es bastante horrible.

Todo esto me lleva a cuestionar la estructura de su base de datos. ¿Consideró usar una tabla con una columna de idioma adicional? ya sea el identificador de dos letras (OKish) o una clave externa a una tabla de idiomas (mejor)?