Cita:
Iniciado por gnzsoloyo
3. La cláusula DEFAULT solamente afecta a los campos declarados como NULL; si es NOT NULL, tienes que enviar el valor si o si. El DEFAULT no opera en ese caso.
Me llama la atención esto que dices, le estuve echando un ojo al manual de MySQL y lo único que veo es que eso es así si el servidor está en modo estricto.
Cita: Suponga que una tabla t se define como sigue:
CREATE TABLE t (i INT NOT NULL);
En este caso, i no tiene valor explícito, así que en modo estricto todos los siguientes comandos producen un error en modo estricto y no se inserta ningún registro. Para modo no estricto, sólo el tercer comando produce un error; el valor implícito por defecto se inserta para las dos primeras, pero la tercera falla ya que DEFAULT(i) no puede producir un valor:
INSERT INTO t VALUES();
INSERT INTO t VALUES(DEFAULT);
INSERT INTO t VALUES(DEFAULT(i));
¿Podrías poner alguna referencia o ejemplo para aclararme?