Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/10/2014, 14:47
Avatar de gnzsoloyo
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: Configurar Insert en Mysql sin validar datos

Bueno, vamos por partes.

Por un lado, hubo algunos cambios en las configuraciones por defecto de MYSQL entre las versiones mencionadas, por lo que perfectamente podrían ser la causa de tu problema, pero con ciertas restricciones.
Para verificar, posteanos lo que resulta de estas dos consultas, que nos permitirán ver el SQL MODE de tu servidor (que es lo que nos puede orientar):
Código MySQL:
Ver original
  1. SELECT @@GLOBAL.sql_mode;
  2. SELECT @@SESSION.sql_mode;

Por otro lado, lo que mencionas que no quieres hacer:
Cita:
que no importe que datos envie me haga el insert sobre todo en los campos INT, para no validar los datos desde PHP antes de hacer el insert ya que serían muchas validaciones que tendría que modificar.
es un error de los característicos.
Si no validas nada en la aplicación, y quieres que la base haga todo el trabajo sucio, entonces estás programando mal, con pésimas prácticas de desarrollo, lamento decirlo de esta forma.
En primer lugar, estás acoplando la aplicación a la base de forma nociva, esperando que el servidor reaccione de determinada forma y cuando no lo hace tienes los problemas que mencionas.
No puedes plantear una solución basado en premisas de cumplimiento inseguro como configuraciones que no son adminsitradas por ti. Tienes que plantearlas de modo que el cambio de servidor no afecte la aplicación. Programar de otro modo es ineficiente, poco profesional y lleno de inconvenientes.
Además, no ess competencia de la base ni tienes por qué adosarle realizar tareas para las que no está optimizada, sin contar con que además, al dejar que que la base "gestione" los errores de la aplicación, lo único que hace es enviar constante información basura que se procesará eventualmente con errores.

Una de las partes mas engorrosas que se hacen en cualquier sistema que se programa son las validaciones... pero son responsabilidad de la aplicación (y del desarrollador) que esas validaciones se hagan antes de enviar las cosas a la base, y sólo consultando las necesarias en la base, pero siempre con la meta de que al enviar un INSERT final, este lleve datos correctos, y no basura.

Fuera de lo dicho, si quieres seguir programando como lo haces, es tu decisión.
Te comento que como analista funcional, yo suelo rechazar todos los desarrollos que nos llegan a la empresa donde los programadores hacen eso, y los costos de ese tiempo perdido no son nuestros. Los deben absorber los programadores como parte de sus errores.
Si no los rechazo, cuando lleguen a los de administración de BBDD, ellos los rechazan sin explicaciones, por las mismas razones.
Lo que quiero expresar con esto es que en ciertos ámbitos, ese tipo de práctica puede hacerte perder dinero y trabajos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)