Tengo filas duplicadas en las tablas.Cómo eliminar filas duplicadas y actualizar la tabla
que tienen dos mesas que están conectados por una clave externa
regions (id)
orders (region_id)
Las regiones han duplicado nombres. Quiero eliminar estas filas duplicadas y actualizar la tabla de pedidos, ya que la clave externa duplicada ahora se configurará con el nombre existente izquierdo en la tabla de regiones.
Ejemplo:
regions table:
id name
1 | test
2 | test
3 | foo
orders table:
id region_id
6 | 1
7 | 2
9 | 3
Quiero
orders table:
id region_id
6 | 1
7 | 1
9 | 3
regions table:
id name
1 | test
3 | foo
puedo conseguir filas duplicadas con este SQL:
SELECT name, count(id) as cnt FROM regions
GROUP BY name HAVING cnt > 1
¿Cómo puedo conectar este selecto con la tabla de orden y borrar duplicados filas y actualizar la tabla?
¿Cuál es la lógica para qué registro guardar de los duplicados? Supongo que el primero (es decir, la clave primaria más baja). ¿Tiene acceso a otra tecnología? Probablemente sea más difícil hacerlo con MySQL directamente. –
Lukas no es solo eliminar filas. Necesito actualizar claves extranjeras! – senzacionale
Lo siento, tienes razón ... –