Cita:
Iniciado por gnzsoloyo 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 originalsolicitud_cotizacion | CREATE TABLE `solicitud_cotizacion` (
`folioCotizacion` VARCHAR(8) NOT NULL,
`fechaCotizacion` DATE NOT NULL,
`nombreCotizacion` VARCHAR(100) NOT NULL,
`referenciaCotizacion` VARCHAR(50) NOT NULL,
`entregaCotizacion` VARCHAR(50) NOT NULL,
`periodicidadCotizacion` VARCHAR(50) NOT NULL,
`condicionesPago` INT(11) DEFAULT NULL,
`tiempoEntrega` VARCHAR(50) DEFAULT NULL,
`folioCliente` VARCHAR(6) NOT NULL,
`num` INT(11) NOT NULL AUTO_INCREMENT,
`status` tinyint(1) DEFAULT NULL,
`cambios_solicitados` VARCHAR(200) DEFAULT NULL,
`archivoPedido` VARCHAR(100) DEFAULT NULL,
`aNombre` INT(11) NOT NULL,
`idVendor` INT(11) NOT NULL,
PRIMARY KEY (`folioCotizacion`),
UNIQUE KEY `num` (`num`),
KEY `folioCliente` (`folioCliente`),
KEY `condicionesPago` (`condicionesPago`),
KEY `idVendor` (`idVendor`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 |
y mi insert esta así
Código SQL:
Ver originalINSERT 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