Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

actualizar campo automaticamente

Estas en el tema de actualizar campo automaticamente en el foro de Mysql en Foros del Web. Hola Tengo una tabla en la que aparecen tres campos, uno que contiene el número total de votos, otro la suma total de la puntuación, ...
  #1 (permalink)  
Antiguo 12/03/2008, 10:32
 
Fecha de Ingreso: abril-2007
Mensajes: 43
Antigüedad: 17 años
Puntos: 0
actualizar campo automaticamente

Hola
Tengo una tabla en la que aparecen tres campos, uno que contiene el número total de votos, otro la suma total de la puntuación, y un tercero que contendría la media entre el total de la puntuación y el número total de votos. Me gustaría saber como puedo hacer para que cuando se actualice la puntuación total y el número total de votos automaticamente se calcule la nota media y se inserte en el campo con la media de los votos.

Gracias

Un saludo
  #2 (permalink)  
Antiguo 14/03/2008, 05:16
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Re: actualizar campo automaticamente

Tienes distintas formas:

Triggers http://www.mysql-hispano.org/page.php?id=36

"Una de las principales características que han sido incorporadas en la versión 5.0 de MySQL es algo llamado "Triggers". Los triggers son objetos relacionados a tablas que son ejecutados o mostrados cuando sucede algún evento en contra de sus tablas asociadas. Estos eventos son aquellas sentencias (INSERT, DELETE, UPDATE) que modifican los datos dentro de la tabla a la que está asociado el trigger y pueden ser disparados antes (BEFORE) y/o después (AFTER) de que la fila es modificada."...

Pero antes de complicarte la vida quizas deberias pensar si realmente es necesario guardar una información que se puede calcular con el valor de los campos contiguos...!!!

..."uno que contiene el número total de votos, otro la suma total de la puntuación, y un tercero que contendría la media entre el total de la puntuación y el número total de votos"...

Select tutabla.totalpuntuacion,
tutabla.totalvotos ,
tutabla.totalpuntuacion/tutabla.totalvotos as media
from tutabla;

Esto nos daria la media sin que este guardada en ningun campo.

Quim
  #3 (permalink)  
Antiguo 14/03/2008, 10:57
 
Fecha de Ingreso: abril-2007
Mensajes: 43
Antigüedad: 17 años
Puntos: 0
Re: actualizar campo automaticamente

Hola
Pues ahora que lo dices es verdad, lo mejor es calcularlo en el SELECT y complicarme de disparadores y procedimientos.

Muchas gracias y un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:11.