Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Hacer insert solo si cambiar un campo.

Estas en el tema de Hacer insert solo si cambiar un campo. en el foro de PHP en Foros del Web. Buenas, Tengo un tabla de viviendas: con vivienda_id, vivienda_precio, vivienda_iva ... precios_viviendas: precio_id, precio_vivienda, precio_precio, precio_iva... Las tablas viviendas y precios_viviendas están relacionadas por viviendas.vivienda_id ...
  #1 (permalink)  
Antiguo 07/01/2016, 19:45
 
Fecha de Ingreso: enero-2016
Ubicación: Cádiz
Mensajes: 5
Antigüedad: 8 años, 3 meses
Puntos: 0
Pregunta Hacer insert solo si cambiar un campo.

Buenas,

Tengo un tabla de

viviendas: con vivienda_id, vivienda_precio, vivienda_iva ...
precios_viviendas: precio_id, precio_vivienda, precio_precio, precio_iva...

Las tablas viviendas y precios_viviendas están relacionadas por viviendas.vivienda_id = precios_viviendas.precio_vivienda

Me gustaría que cada vez que cambie el precio, si el valor es distinto que haga un insert en la tabla precios_ventas.

He pensado en hacer una consulta primero y si el precio es distinto realizar el insert, pero no se si es la manera más correcta.

¿alguna solución mejor?.

Saludos y gracias :)
  #2 (permalink)  
Antiguo 08/01/2016, 06:54
 
Fecha de Ingreso: enero-2016
Mensajes: 71
Antigüedad: 8 años, 3 meses
Puntos: 14
Respuesta: Hacer insert solo si cambiar un campo.

Usar un trigger seria mejor solución.

Un saludo,
  #3 (permalink)  
Antiguo 08/01/2016, 09:53
 
Fecha de Ingreso: enero-2016
Ubicación: Cádiz
Mensajes: 5
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: Hacer insert solo si cambiar un campo.

Si, esa opción ya la he estado bajarando, pero la verdad es que soy muy nuevo con los triggers y procedures.

me creé uno para que añadiera una fila cuando se haga el insert.

Pero este solo quiero que lo añada si ha cambiado el precio, si cambian el título no quiero que haga nada.

Supongo que dentro del trigger un if them... no?


Gracias!
  #4 (permalink)  
Antiguo 08/01/2016, 10:13
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 12 años, 10 meses
Puntos: 15
Respuesta: Hacer insert solo si cambiar un campo.

Bueno, no se muy bien que motor de base de datos usas pero la idea (en mysql) es la siguiente:

Código MySQL:
Ver original
  1. CREATE  TRIGGER  myTrigger
  2. AFTER UPDATE ON myTable
  3.      FOR EACH ROW
  4.      BEGIN
  5.         if NEW.column1 <> OLD.column1
  6.          begin
  7.               --Tu insert
  8.          end
  #5 (permalink)  
Antiguo 08/01/2016, 14:00
 
Fecha de Ingreso: enero-2016
Ubicación: Cádiz
Mensajes: 5
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: Hacer insert solo si cambiar un campo.

ZedGe1505 Gracias! es justo lo que andaba buscando...

Etiquetas: insert, tabla
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 21:35.