#840

Tieni traccia dei contatori giornalieri con chiave «utente + giorno»

L'analytics scrive un contatore di attività giornaliera per utente: la coppia (utente, giorno) è univoca, e ogni evento crea una riga con uno oppure incrementa quella esistente. Qui la chiave primaria è composta, quindi la clausola di conflitto «insert con update» deve fare riferimento a entrambe le colonne contemporaneamente — è questa la differenza rispetto al classico caso con chiave primaria a colonna singola. La tabella daily_count(user_id, day, n DEFAULT 0, PRIMARY KEY (user_id, day)) è vuota. Esegui tre tentativi di inserimento sulla coppia (1, '2024-01-10') e due su (1, '2024-01-11') — in caso di conflitto su questa coppia, il valore n esistente aumenta di uno. Dopo le esecuzioni la coppia (1, '2024-01-10') dovrebbe avere n = 3 e (1, '2024-01-11')n = 2.

Solo INSERT/UPDATE/DELETE — non serve un SELECT finale.

Il risultato della tua query apparirà qui