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

valor predeterminado en columna

Estas en el tema de valor predeterminado en columna en el foro de Mysql en Foros del Web. Me gustaría saber si se puede hacer lo siguiente. A la hora de hacer la tabla, hay un campo que quiero que tenga un valor ...
  #1 (permalink)  
Antiguo 15/04/2008, 04:37
 
Fecha de Ingreso: octubre-2007
Mensajes: 394
Antigüedad: 16 años, 6 meses
Puntos: 2
valor predeterminado en columna

Me gustaría saber si se puede hacer lo siguiente. A la hora de hacer la tabla, hay un campo que quiero que tenga un valor predeterminado. Pero dicho valor no quiero que sea en plan una constante, ejemplo:

Valor predeterminado para la columna "Color" será "Verde".

Lo que quiero es que el valor predetemrinado para la columna "Color" sea "select ..... from......where...." Es decir, se puede hacer que el valor predeterminado para una columna venga dado por una consulta que hagas ...o algo x el estilo?

Un saludo
  #2 (permalink)  
Antiguo 15/04/2008, 04:50
 
Fecha de Ingreso: abril-2008
Ubicación: ALICANTE
Mensajes: 17
Antigüedad: 16 años
Puntos: 0
Re: valor predeterminado en columna

creo que lo que quieres decir es esto:

CREATE TABLE [nombreTabla] (
[clave] integer PRIMARY KEY,
[campo1] text,
[campo2] varchar(30) DEFAULT [dato]
);

en tu caso [campo2] seria "color" y [dato] seria "Verde" (las cadenas debes de escribirlas entre comillas simples ' ', los datos numericos no).

en cuanto a lo que dices de la consulta, yo diria que no se puede cambiar un dato en una consulta. Puede que te refieras al "Update" que es para modificar datos.

update [nombreTable] set [campo]=[datoNuevo] {where [condicion]}

tu ejemplo
update [nombreTabla] set color='verde'
asi cambiaria todas las lineas de la tabla, modificando el dato de la columna color a "verde". con el where pones una condicion para que solo se modifiquen las lineas que cumplan la condicion.

espero que te irva de ayuda. un saludo
  #3 (permalink)  
Antiguo 15/04/2008, 10:55
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Re: valor predeterminado en columna

Cita:
Iniciado por Blade_Stom Ver Mensaje
Me gustaría saber si se puede hacer lo siguiente. A la hora de hacer la tabla, hay un campo que quiero que tenga un valor predeterminado. Pero dicho valor no quiero que sea en plan una constante, ejemplo:

Valor predeterminado para la columna "Color" será "Verde".

Lo que quiero es que el valor predetemrinado para la columna "Color" sea "select ..... from......where...." Es decir, se puede hacer que el valor predeterminado para una columna venga dado por una consulta que hagas ...o algo x el estilo?

Un saludo
Lo que te ha explicado pikeres hace que cuando no insertes nada en ese campo, por defecto, se almacene el valor default.

Si lo que quieres es que ese valor por defecto lo marques tú en la select, mira
CASE, COALESCE ... -- no se como se llama exactamente en mysql

por ejemplo:

select COALESCE(color, 'tu_color_por_defecto)
from tabla;

si color es null te muestra ' 'tu_color_por_defecto'.
COALESCE es de postgres no se como se llama en mysql.

CASE, creo que es parte del standard y es muy potente.
Un saludo
  #4 (permalink)  
Antiguo 15/04/2008, 11:22
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Re: valor predeterminado en columna

En mysql también se usa COALESCE
  #5 (permalink)  
Antiguo 15/04/2008, 11:59
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Re: valor predeterminado en columna

Cita:
Iniciado por Genetix Ver Mensaje
En mysql también se usa COALESCE
Todos los días se aprende algo.

Gracias por el apunte.

Un saludo
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 10:19.