Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/07/2016, 12:46
webtexcoco
 
Fecha de Ingreso: febrero-2016
Mensajes: 43
Antigüedad: 8 años, 1 mes
Puntos: 2
Respuesta: consulta sobre error #1364

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Código MySQL:
Ver original
  1. `condicionesPago` INT(11) NOT NULL,
Está definido como NOT NULL, sin DEFAULT, como te comenta Libras.
El problema es simplemente que no le estás pasando valores, y si no se producía antes puede ser tanto por defectos de programación que anteriormente quedaban escondidos y en el nuevo servidor no, como diferentcias en la configuracion de MySQL .

A nivel programación, puedes verificar donde falla para resolverlo. Es tema ajenos a este foro.

A nivel tabla ,se soluciona simplemente poniendole un DEFAULT ''.

En el servidor, lo mas probable es que esté en modo estricto (ver manual de referencia: [url]https://dev.mysql.com/doc/refman/5.6/en/sql-mode.html#sql-mode-strict[/url]), que exige exactitud en valores, datos, rangos, etc. Eso no lo puedes controlar tu, solo el DBA de ese hosting.

TRaducido a lo bruto:
gracias maestros por su gran ayuda me han aclarado bastante, ya cambie los campos a DEFAULT NULL y ya me inserta los valores, muchas gracias!!!

debe ser el modo estricto del servidor, encontré esta configuración no se si tenga q ver. pero investigare mas sobre el tema
sql mode = STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

una ultima duda, espero no estar abusando

ahora mi tabla esta así

Código SQL:
Ver original
  1. solicitud_cotizacion | CREATE TABLE `solicitud_cotizacion` (
  2.   `folioCotizacion` VARCHAR(8) NOT NULL,
  3.   `fechaCotizacion` DATE NOT NULL,
  4.   `nombreCotizacion` VARCHAR(100) NOT NULL,
  5.   `referenciaCotizacion` VARCHAR(50) NOT NULL,
  6.   `entregaCotizacion` VARCHAR(50) NOT NULL,
  7.   `periodicidadCotizacion` VARCHAR(50) NOT NULL,
  8.   `condicionesPago` INT(11) DEFAULT NULL,
  9.   `tiempoEntrega` VARCHAR(50) DEFAULT NULL,
  10.   `folioCliente` VARCHAR(6) NOT NULL,
  11.   `num` INT(11) NOT NULL AUTO_INCREMENT,
  12.   `status` tinyint(1) DEFAULT NULL,
  13.   `cambios_solicitados` VARCHAR(200) DEFAULT NULL,
  14.   `archivoPedido` VARCHAR(100) DEFAULT NULL,
  15.   `aNombre` INT(11) NOT NULL,
  16.   `idVendor` INT(11) NOT NULL,
  17.   PRIMARY KEY (`folioCotizacion`),
  18.   UNIQUE KEY `num` (`num`),
  19.   KEY `folioCliente` (`folioCliente`),
  20.   KEY `condicionesPago` (`condicionesPago`),
  21.   KEY `idVendor` (`idVendor`)
  22. ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 |

y mi insert esta así

Código SQL:
Ver original
  1. INSERT INTO solicitud_cotizacion (folioCotizacion,fechaCotizacion,nombreCotizacion,referenciaCotizacion,entregaCotizacion,periodicidadCotizacion,folioCliente,aNombre,idVendor) VALUES ('2900a11j','2016-07-14','trabajo de prueba','','5','semanal','f47a6c','1','1');

si lo ejecuto me inserta el registro sin ningún problema.

mi duda esta en el campo referenciaCotizacion no lo cambie, esta como NOT NULL y aquí no me manda el error 1364, que estará pasando en este caso