2012-09-18 8 views
7

es mejor práctica utilizar fecha predeterminada '0000-00-00 00:00:00' o nulo en la base de datos MySQLfecha predeterminada '0000-00-00 00:00:00' o nula

tengo leer es mejor utilizar la fecha predeterminada '0000-00-00 00:00:00' por la razón de los cálculos

es decir. > que una fecha menor que una fecha.

también en el tiempo mejor para almacenar 00:00 o null si no se conoce el tiempo

+11

Use 'NULL'. '0000-00-00 00: 00: 00' no es una fecha válida (y el controlador JDBC de MySQL rechazará cargar ese btw). Por el momento ** tienes ** para usar 'NULL' porque 00:00 es un tiempo real (medianoche). Entonces no podías distinguir entre la medianoche y "no tiempo". –

+1

Normalmente uso null para significar "desconocido". Siempre que sepa qué valor asigna, puede usarlo si su aplicación lo maneja correctamente. –

+0

. De todos modos, debe verificar los estados de error (es decir, las fechas NULL donde se espera una fecha válida). –

Respuesta

-1

un valor por defecto no debe ser NULL finde para apoyar todas las operaciones de fecha y hora. también uso "0000-00-00 00:00:00" como valor predeterminado.

+3

por qué no debería ser nulo –

+1

@MatthewChambers http://www.fromdual.com/using-null-as-default-values ​​discute lo contrario para ser la respuesta correcta, aunque personalmente creo que usar el predeterminado 0000-00-00 es mejor. Hay una operación que se menciona es sus comentarios que no funciona si el campo puede ser nulo 'SELECCIONAR * FROM t DONDE ciudad = ciudad' –

+1

Estoy de acuerdo con @MatthewChambers que 0000-00-00 es la mejor respuesta. –

Cuestiones relacionadas