unico - MySQL Haz una combinación de columnas única
poner valor unico en mysql (1)
Sí, esto funcionará perfectamente.
En otro tema, ¿por qué tienes un row_id
? Simplemente puede poner la clave principal como (image_id, user_id)
, esto también funcionará.
Tengo una tabla que almacena comentarios que los usuarios hacen acerca de las imágenes en el sitio. La tabla está estructurada con cuatro columnas, row_id, que es la clave principal, image_id, user_id y el comentario Lo que quiero hacer es asegurar que un usuario solo pueda dejar un comentario por imagen. ¿Simplemente creo un índice único en las dos columnas?
CREATE UNIQUE INDEX imgusr ON comments (image_id, user_id);
La idea es conseguir que la siguiente consulta funcione:
INSERT INTO comments SET image_id = ''1'', user_id = ''2'', comment = ''nice'' ON DUPLICATE KEY UPDATE comment = ''nice'';
El gotchya (gotme?) Es que la tabla es ennoDB porque se espera que sea muy grande. ¿Es este el enfoque que funcionará, a pesar de la presencia de una clave principal?