Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Decirle "ponme el valor por defecto" a MySQL

Estas en el tema de Decirle "ponme el valor por defecto" a MySQL en el foro de Bases de Datos General en Foros del Web. Tengo una tabla MySQL con esta estructura: id INT(10) NOT NULL autoincrement fecha1 DATETIME NOT NULL 0000-00-00 00:00:00 fecha2 DATETIME NOT NULL 0000-00-00 00:00:00 procesado ...
  #1 (permalink)  
Antiguo 03/10/2003, 04:34
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 4 meses
Puntos: 17
Decirle "ponme el valor por defecto" a MySQL

Tengo una tabla MySQL con esta estructura:

id INT(10) NOT NULL autoincrement
fecha1 DATETIME NOT NULL 0000-00-00 00:00:00
fecha2 DATETIME NOT NULL 0000-00-00 00:00:00
procesado SET("si","no") NOT NULL "no"


Si hago:

INSERT INTO tabla (id,fecha1,fecha2) VALUES (1, Now(), Now())

Me sale perfecto y me pone "no" en procesado. OK.

Pero ahora tengo que pasarle un CSV y hay registros con el campo procesado vacío.

He intentado pasarlo de 3 maneras:

1) valor_id,valor_fecha1,valor_fecha2,
2) valor_id,valor_fecha1,valor_fecha2,NULL
3) valor_id,valor_fecha1,valor_fecha2,''

Sin embargo, ninguna de estas tres formas funciona. Las tres me crean registros donde el campo procesado está vacío (ni "si", ni "no", ni NULL, sino "").

¿Qué debo hacer para solucionar este problema?
__________________
M a l d i t o F r i k i
  #2 (permalink)  
Antiguo 03/10/2003, 10:18
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Me puse a hacer una tabla con los campos que colocaste con todas sus características (menos poner auto_incremental en id ya que me daba error) y no logre hacer que me pusiera por default la n si el campo esta null o vacio...

Como leo que la información viene de un archivo de datos, creo que para solucionar momentaneamente tu problema es que realices normalmente el llenado de la tabla y después ejecutes un update reemplazando todo lo que sea igual a null o '' en ese campo y colocarle la n.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 03/10/2003, 12:34
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 4 meses
Puntos: 17
Pues me temo que eso es lo que habrá que hacer.

Gracias por la ayuda
__________________
M a l d i t o F r i k i
  #4 (permalink)  
Antiguo 05/10/2003, 05:22
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
Bueno, yo he estado probando algo con el phpmyadmin y sí he podido. Esta es la estructura que me creó phpMyAdmin:

CREATE TABLE `prueba` (
`id` int(10) NOT NULL auto_increment,
`fecha1` datetime NOT NULL default '0000-00-00 00:00:00',
`fecha2` datetime NOT NULL default '0000-00-00 00:00:00',
`procesado` set('si','no') NOT NULL default 'no',
KEY `id` (`id`)
) TYPE=MyISAM ;

Y luego hice:

INSERT INTO `prueba` ( `id` , `fecha1` , `fecha2` )
VALUES ( '1', '0000-00-00 00:00:00', '0000-00-00 00:00:00' );

Y me puso por defecto el valor 'no'.

Espero que te sirva
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:26.