En primer lugar, lo siento si esta es una pregunta un poco tonta. Revisé lo que está escrito en preguntas redactadas de manera similar como "¿Cómo actualizo los campos de una tabla con valores de otra tabla?", pero el contenido no parece coincidir con lo que estoy tratando de hacer.
Digamos que tengo una tabla llamada site_users:
| id_usuario | acceso | clave | usuario_id2 |
|---|---|---|---|
| 2 | usuario | clave | 1 |
| 7 | acceso | xyz | 2 |
| 11 | otrologin | a B C | 3 |
| 15 | alguien | defg | 4 |
| 22 | usuario | qwert | 5 |
Luego tengo muchas otras tablas en la misma base de datos, que tienen algunas columnas de varios nombres que en realidad corresponden al "user_id" de la tabla "site_users". No hay relaciones establecidas ni nada por el estilo. Quiero cambiar los valores en los campos de esas otras tablas a user_id2. Así que digamos que tengo una tabla: user_options:
| id_administrador | permanentes1 | permanentes2 |
|---|---|---|
| 2 | 1 | 12139389 |
| 7 | 1 | 13232111 |
Quiero cambiarlo a:
| id_administrador | permanentes1 | permanentes2 |
|---|---|---|
| 1 | 1 | 12139389 |
| 2 | 1 | 13232111 |
¿Cómo puedo hacer eso? Esta es la primera vez que hago algo más que simples cambios masivos de texto con algunas expresiones regulares:/
Si entiendo su pregunta correctamente, debería poder hacer lo siguiente, donde la tabla 1 es la tabla superior y la tabla 2 es la tabla que está tratando de actualizar:
actualizar table2 t set admin_id = (seleccione user_id2 de table1 donde user_id = t.admin_id)