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

espiar en la base

Estas en el tema de espiar en la base en el foro de Bases de Datos General en Foros del Web. DE vuelta a tropezar con la misma piedra... ¿no? Creo qu eni miraste ni entendiste lo que te dije un par de post más atrás: ...

  #31 (permalink)  
Antiguo 23/03/2016, 11:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: espiar en la base

DE vuelta a tropezar con la misma piedra... ¿no?
Creo qu eni miraste ni entendiste lo que te dije un par de post más atrás:
Cita:
SI el usuario es de aplicación, pero usa uno genérico de conexión, entonces supongo que conservarás al usuario de aplicación en algun objeto en memoria para administrar su sesión.
En ese caso simplemente usas el valor del atributo de username que hayas incluido en él, cada vez que invoques a la base para una operación ABM, mandándolo como dato para insertar en la columna respectiva.
Ya te dijimos mas de una vez que un usuario genérico NO SIRVE para trackear modificaciones en la base. Tienes que, SI O SI, enviar el usuario de la aplicación como parte de los datos del insert.
Ese usuario de la aplicación no se obtiene con USER(). Entiéndelo: Esa función sólo aplica al usuario DE LA BASE, es decir al genérico.
En ese sentido, el usuario de la aplicación es invisible para un TRIGGER, a menos que su username de aplicación esté llegando como parte del INSERT a la tabla que dispara el TRIGGER.

¿Por que no agregas en esas tablas ese valor y se lo mandas en el insert?
De esa forma no solo puedes trackear las tablas, sino utilizarlo en el TRIGGER.

¿Se entiende?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #32 (permalink)  
Antiguo 23/03/2016, 11:32
 
Fecha de Ingreso: febrero-2015
Ubicación: tepoztlan
Mensajes: 72
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: espiar en la base

dentro de mi ignorancia hice una tabla para recuperar el usuario y la hora
pero es cuando entra a la aplicacion y si recibe la informacion y esa la comparo
con un campo NOW() que puse en la tabla de convenios y ya me voy guiando quien hizo las modificaciones pero por la hora y la fecha

mysql> select * from usuaccion;
+-------------+---------------------+
| usuario_ins | hora |
+-------------+---------------------+
| guillermina | 2015-09-10 02:16:03 |
| Israel | 2015-09-10 02:20:19 |
| guillermina | 2015-09-11 19:23:35 |
| guillermina | 2015-09-12 01:03:09 |
| guillermina | 2015-12-01 22:05:53 |
| guillermina | 2015-12-01 23:09:09 |
| guillermina | 2015-12-01 23:19:52 |
| guillermina | 2015-12-02 01:08:12 |
| guillermina | 2015-12-02 19:42:57 |
| guillermina | 2015-12-02 21:30:23 |
| guillermina | 2015-12-03 19:32:53 |
| guillermina | 2015-12-03 22:45:16 |
| guillermina | 2015-12-07 18:06:08 |
| guillermina | 2015-12-08 18:52:08 |
| guillermina | 2015-12-09 00:47:49 |
| guillermina | 2015-12-10 01:38:39 |
__________________
"Las piedras me las quito caminando y las pedradas tambien"
  #33 (permalink)  
Antiguo 23/03/2016, 11:40
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: espiar en la base

Vuelvo a mi pregunta:
Cita:
Por que no agregas en esas tablas ese valor y se lo mandas en el insert?
¿Podrías responder punto a punto las cosas que se te preguntan?
No te pedimos esa info por que sí, ni por capricho. Es lo que en estos ambientes se llama "feedback". Si no hay, no funciona la cosa.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #34 (permalink)  
Antiguo 23/03/2016, 11:45
 
Fecha de Ingreso: febrero-2015
Ubicación: tepoztlan
Mensajes: 72
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: espiar en la base

porque no se como hacerlo eso de agregar el valor a las tablas y mandarlo al insert ? mejor dicho no se a que te refieres, y pues la informacion para que vean que es lo que almacena mi tabla en la que recupero el usuario
__________________
"Las piedras me las quito caminando y las pedradas tambien"
  #35 (permalink)  
Antiguo 23/03/2016, 12:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: espiar en la base

Ok...
¿O sea que no sabes agregar una columna a la tabla?

Eso lo puedes ver en el manual: ALTER TABLE
donde puedes encontrar un ejemplo tan básico como:
Código MySQL:
Ver original
  1. ALTER TABLE mytable ADD COLUMN dummy1 VARCHAR(40) AFTER id ADD COLUMN dummy2 VARCHAR(12) AFTER dummy1;
ESo manda a agregar en la tabla "MYTABLE", una columna denominada "DMUMMY1", antes de la columna "ID", y otro campo "DUMMY2", antes de la "DUMMY1".
Si no indicas la posición, toda columna se agrega al final de las que ya existen.
No es mucho mas complejo que eso.

Lo de enviarlo en el insert es todavía más elemental.
Si en tu aplicación invocas en ALGUNA parte un INSERT INTO ... lo que fuese, ¿qué tan dificil puede ser que modifiques esos insert para agregar un valor más, para la columna que acabas de agregar, con el username de la aplicación.

Algo como:
Código MySQL:
Ver original
  1. INSERT INTO tabla VALUES('lhjuh', 'xcdreoi', 'hytrre', 'usuarioquesea');

Me parece que lo que te estoy planteando no es TAN complejo como para que no se entienda...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #36 (permalink)  
Antiguo 23/03/2016, 12:34
 
Fecha de Ingreso: febrero-2015
Ubicación: tepoztlan
Mensajes: 72
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: espiar en la base

ya lo cambiaste dijiste valor y ahorita estas diciendo columna eso si se hacerlo y lo del hacer en el insert la accion de guardar el usuario asi como dices ya lo hice y manda error
__________________
"Las piedras me las quito caminando y las pedradas tambien"
  #37 (permalink)  
Antiguo 23/03/2016, 13:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: espiar en la base

Cita:
manda error
¿Manda QUÉ error?
Sé mas específico:
Postea la respuesta que devuelve MySQL y la query completa que usaste.
:Si no vemos como lo haces, es imposible decirte por qué no te funcionó...

¿No te parece?

Cita:
ya lo cambiaste dijiste valor y ahorita estas diciendo columna eso si se hacerlo
Lo que se espera es lo que se llama "inferencia".
Si una tabla solo puede tener COLUMNAS, y las columnas contienen VALORES en los registros, entonces SE INFIERE que me refiero a insertar un valor en la columna, una vez que hayas agregado la columna...
¿No te parece?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: Ninguno
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 05:35.