Tengo una tabla user_interactions
con 4 columnas:Actualización de MySQL primaria clave
user_1
user_2
type
timestamp
La clave principal es (user_1,user_2,type)
y quiero cambiar a (user_2,user_1,type)
Así que lo que hice fue:
drop primary key ...
add primary key (user_2,user_1,type)...
y voila ...
El problema es que la base de datos está en vivo en un servidor.
Así que antes de que pudiera actualizar la clave primaria, muchos duplicados que ya han entrado, y que se están arrastrando continuamente.
¿Qué hacer?
Lo que quiero hacer ahora es eliminar duplicados y conservar los que tienen la última timestamp
(que es una columna en la tabla).
Y luego, de alguna manera, actualice la clave principal nuevamente.
de repente me siento mal por todos y cada uno de DBA Maldije por lo bajo ... –
la próxima vez agregue una clave única con las mismas columnas que la clave principal, luego actualice la clave principal – knittl
@ignacio tee hee – benlumley