Ante todo muchas gracias por la atención, me gustaría saber si es posible en mysql poner dos filas en espejo, me explico, que los datos que se introduzcan en una de ellas automáticamente se copien en la otra y viceversa, es la única manera que tengo de hacer un modulo de reservas de pistas con antelaciones diferentes para diferentes clases de usuario.
Muchas gracias.
Se me ocurren tres formas:
- La de "no complicarse" y que funcionará en cualquier sistema, es guardar los datos dos veces, con dos órdenes INSERT, cada uno en una tablas.
- La "elegante", que funcionará en versiones modernas de MySQL, es usar un TRIGGER, de modo que un proceso llame automáticamente al otro.
- La "buena", si hay información redundante, suele ser rediseñar, porque suele indicar que el diseño es mejorable (la información duplicada no sólo ocupa más, sino que también puede dar lugar a inconsistencias).
Muchas gracias por contestar tan rapido. Me temo que modificar las tablas me va a resultar complicado ya que utilizo un script que viene todo configurado por defecto y se me escapa un poco tocar todo el sistema.
Respecto al trigger, se puede hacer dentro de una misma tabla?
saludos
Los triggers no se hacen en la tabla sino desde el interfaz de comandos de MySQL (o desde algún "frontend" que te simplifique su manejo, como PhpMyAdmin).
Tienes las ideas básicas aquí
http://dev.mysql.com/doc/refman/5.0/es/triggers.html
y ejemplos un poco más detallados de su uso aquí:
http://dev.mysql.com/doc/refman/5.0/es/using-triggers.html
En tu caso sería un "CREATE TRIGGER xxx AFTER INSERT ON tabla1", para que se lance automáticamente tras cada inserción en la primera tabla.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)