Mi chiedevo quale sarebbe il modo più semplice per aggiornare una colonna di +1? Aggiornerò il numero di post di una categoria in base a quando gli utenti inviano un nuovo post.Colonna di aggiornamento di MySQL +1?
Grazie.
Mi chiedevo quale sarebbe il modo più semplice per aggiornare una colonna di +1? Aggiornerò il numero di post di una categoria in base a quando gli utenti inviano un nuovo post.Colonna di aggiornamento di MySQL +1?
Grazie.
Il modo più semplice è quello di non negozio il conteggio, basandosi sulla funzione COUNT aggregata in modo da riflettere il valore in quanto è nel database:
SELECT c.category_name,
COUNT(p.post_id) AS num_posts
FROM CATEGORY c
LEFT JOIN POSTS p ON p.category_id = c.category_id
È possibile create a view ospitare la query di cui sopra, quindi è possibile interrogare la visualizzazione proprio come si farebbe con un tavolo ...
Ma se si sta insieme a memorizzare il numero, utilizzare:
UPDATE CATEGORY
SET count = count + 1
WHERE category_id = ?
..replacing "?" con il valore appropriato.
+1 per una buona risposta al problema, se non la domanda – Amadan
Grazie. Inizialmente il mio pensiero per determinare la quantità di post in una categoria sarebbe di controllare le tabelle dei post per un cat_id che corrisponde a quella categoria e quindi aggiungerli. Pensavo che questo potesse essere un consumo di risorse o meno efficiente rispetto alla scrittura diretta su quel tavolo. – Cory
È molto veloce quando si ha un indice su "p.post_id". – Amadan
Si può fare:
UPDATE
categories
SET posts
= posts
+ 1 WHERE category_id
= 42;
+1 per una buona risposta alla domanda letterale – Amadan
ne dite:
update table
set columnname = columnname + 1
where id = <some id>
update post set count = count + 1 where id = 101
Mi dispiace, non capisco. Vuoi aggiornare tutte le righe impostando il valore della tua colonna sul suo vecchio valore + 1? – Benoit
@Benoit: l'OP vuole memorizzare e aggiornare il numero di post relativo alla categoria. –