Me preguntaba ¿cuál sería la forma más fácil de actualizar una columna por +1? Actualizaré el recuento de publicaciones de una categoría según el momento en que los usuarios envíen una nueva publicación.MySQL Update Column +1?
Gracias.
Me preguntaba ¿cuál sería la forma más fácil de actualizar una columna por +1? Actualizaré el recuento de publicaciones de una categoría según el momento en que los usuarios envíen una nueva publicación.MySQL Update Column +1?
Gracias.
La manera más fácil es no almacenar la cuenta, basándose en la función cuenta agregada para reflejar el valor, ya que está en la base de datos:
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
Puede create a view albergar la consulta mencionada anteriormente, para que pueda consultar la vista como lo haría con una tabla ...
Pero si ya estás en el almacenamiento del número, utilice:
UPDATE CATEGORY
SET count = count + 1
WHERE category_id = ?
..replacing "?" con el valor apropiado
+1 para una buena respuesta al problema, si no la pregunta – Amadan
Gracias. Inicialmente, mi idea de determinar la cantidad de publicaciones en una categoría consistía en consultar las tablas de correos de un cat_id que coincidiera con esa categoría y luego sumarlos. Pensé que esto puede consumir recursos o ser menos eficiente que escribir directamente a esa mesa. – Cory
Es muy rápido cuando tienes un índice en 'p.post_id'. – Amadan
Usted puede hacer:
UPDATE
categories
SET posts
= posts
+ 1 DONDE category_id
= 42;
+1 para una buena respuesta a la pregunta literal – Amadan
¿Qué tal:
update table
set columnname = columnname + 1
where id = <some id>
update post set count = count + 1 where id = 101
Lo siento, no entiendo. ¿Desea actualizar todas las filas configurando el valor de su columna en su valor anterior + 1? – Benoit
@Benoit: el OP quiere almacenar y actualizar el recuento de publicaciones relacionadas con la categoría. –