Operaciones en MySQL

NeB1

Siento abusar tanto de vosotros!!! :(

pero me gustaría como se hace para que un campo sea la suma de los dos anteriores, por ejemplo.

es decir, tengo campo A, B y C

A=valor;

B=valor;

C=A+B;

erdanblo

Como dice un profesor mio...

"Cuando estéis trabajando a ver quien os va a limpiar los pañales..."

O como dice otro...

"Cuando tengáis dudas, consultar la API, si no lo entendéis, investigad, y si aun así no sabéis que es, preguntarme de nuevo, que yo os diré que busquéis en la API".

http://tinyurl.com/auyfmm

Y sí, lo último te tiene que valer.

Digamos que es así:

SELECT "La suma es:" (3+4)

O algo así... tendría que mirarme los apuntes, pero...

shortyStyle

#2 Pues no he escuchado veces eso xdd

NeB1

si lo había buscado... pero es que no es exactamente lo que quiero...T_T jur, porque quiero que un campo siempre sea la suma de los otros dos, de forma que al actualizarse alguno de los campos, también se actualice este, pero no consigo meter ni un puñetero trigger en la db

dagavi

Ya podrías haber usado el post de hace unas semanas en vez de crear otro distinto con la misma finalidad.

Aun así, y sin haber tocado MySQL más que para el básico select, update y delete para obtener 4 cosas para alguna web, he mirado la sintaxi de MySQL y creo que esto podría funcionar:

CREATE TRIGGER triggerInutilInsert
BEFORE INSERT ON tablaInutil
FOR EACH ROW
SET NEW.c := NEW.a + NEW.b;

CREATE TRIGGER triggerInutilUpdate
BEFORE UPDATE ON tablaInutil
FOR EACH ROW
SET NEW.c := NEW.a + NEW.b;

En PostgreSQL se puede poner BEFORE INSERT OR UPDATE ON... pero eso es de lo poco que he podido probar y me dice Sintax error...

No he podido probar los triggers ya que pone que necesitan privilegios super así que no si eso hace algo, simplemente me he basado en lo que haría en PostgreSQL, aunque en PostgreSQL crearía una procedimiento almacenado con: NEW.c := NEW.a + NEW.b; return NEW;

Usuarios habituales

  • dagavi
  • NeB1
  • shortyStyle
  • erdanblo