
24/10/2012, 09:11
|
| | Fecha de Ingreso: septiembre-2012 Ubicación: Mexico
Mensajes: 58
Antigüedad: 12 años, 7 meses Puntos: 2 | |
Respuesta: Insercion automatica de datos a tabla Cita:
Iniciado por leonardo_josue Hola Mauk:
Vayamos por partes... de entrada, la tabla tal como la planteas ni siguiera puede ser creada, pues no puedes tener dos campos con el mismo nombre (M)... además, tal como lo hace notar gnzsoloyo, no es para nada eficiente... pero si como suele suceder, no puedes cambiar tu modelo podrías hacer algo así:
Supongamos que que los registros los vas vas a capturar por semana, el primer día tendrías que hacer un insert a la tabla, pero los subsecuentes tendrían que ser actualizaciones...
es decir, tendrías que hacer algo como esto:
Código MySQL:
Ver originalQuery OK, 0 rows affected (0.13 sec) Query OK, 1 row affected (0.05 sec) +--------+------+------+------+------+------+------+------+ | puesto | L | Ma | Mi | J | V | S | D | +--------+------+------+------+------+------+------+------+ +--------+------+------+------+------+------+------+------+ -> WHERE puesto = 'puesto'; Query OK, 1 row affected (0.04 sec) +--------+------+------+------+------+------+------+------+ | puesto | L | Ma | Mi | J | V | S | D | +--------+------+------+------+------+------+------+------+ +--------+------+------+------+------+------+------+------+
Observa que en el caso del update estoy utilizando la fecha del 26 de Octubre en vez de la fecha actual (CURDATE()).
Saludos
Leo.
Que tal Leo, primero que nada muchas gracias por tu aportación y ayuda, ahora bien te platico que entiendo muy bien el planteamiento que me haces, como lo he dicho antes, créeme que yo se que no es nada eficiente esta forma de hacerlo, pero pues como dicen "Lo que el cliente pida", yo ya les explique que no es nada conveniente hacerlo de esa forma pero su postura sigue igual.
Bueno voy a la parte del código, ya había pensado en hacer un tipo ciclo con IF's donde comparara si el día de hoy fuera L, Ma, Mi, J, etc. pero aun no sabia bien como funcionaba la función de CURDATE().
En la parte de IF(DAYOFWEEK(CURDATE()) = 2, 'X', NULL), no entiendo la parte donde igualas a 2, entiendo que te refieres al numero de día de la semana, pero no entiendo muy bien esa parte.
Por otra parte, aun haciéndolo de esta forma se le tendría que dar alguna entrada como de un botón o algo para que comience hacer el primer INSERT y después como dices se harán las actualizaciones para los demás días.
Agradezco mucho tu ayuda y espero seguir contando con tu apoyo gracias! |