Domanda

Ho una tabella che memorizza i commenti che gli utenti fanno sulle immagini sul sito. La tabella è strutturata con quattro colonne, la row_id, che è la chiave primaria, l'immagine_id, l'utente_id e il commento. Quello che voglio fare è assicurarmi che un utente possa lasciare un solo commento per immagine. Creo semplicemente un indice univoco sulle due colonne?

CREATE UNIQUE INDEX imgusr ON comments (image_id, user_id);

L'idea è quella di far funzionare le seguenti domande:

INSERT INTO comments SET image_id = '1', user_id = '2', comment = 'nice' ON DUPLICATE KEY UPDATE comment = 'nice';

Il Gotchya (Gotme?) È che il tavolo è innodB perché si prevede che diventerà molto grande. È questo l'approccio che funzionerà, nonostante la presenza di una chiave primaria?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top