sql >> Database >  >> RDS >> Mysql

Sta gebruikers toe om een ​​reactie eenmalig te beoordelen PHP MySQL

Maak een nieuwe tabel met user_id , comment_id en vote TINYINT(1) .

Een waarde van 1 in vote is een duim omhoog, een waarde van 0 in vote is een duim omlaag.

Heb een UNIEKE SLEUTEL beperking op (comment_id, user_id) .

Als u het bovenstaande volgt, is het gemakkelijk om te controleren of een gebruiker op een bepaalde opmerking heeft gestemd. Als u snel (zoals bij snelle uitvoering) alle opmerkingen van een gebruiker wilt kunnen zien, moet u ook voeg een INDEX toe naar user_id .

Als een gebruiker stemt, kun je REPLACE INTO . gebruiken naar user_comment_thumbs , zoals de onderstaande:

REPLACE INTO `user_comment_thumbs` (user_id,comment_id,vote)
VALUES (@user_id, @comment_id, @vote);

Als de gebruiker al heeft gestemd, wordt de invoer in de tabel bijgewerkt, anders wordt er een nieuwe rij ingevoegd.




  1. MySQL-tijdzone-query

  2. MySql krijgt een lijst met unieke woorden uit een tabel waarin waarden in een veld worden gescheiden door een komma

  3. LEN() versus DATALENGTH() in SQL Server

  4. mysql, utf-8 kolom:hoe selecteer ik alleen hoofdlettergevoelig?