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

[SOLUCIONADO] dudas con valor por defecto

Estas en el tema de dudas con valor por defecto en el foro de Mysql en Foros del Web. Hola amigos tengo la siguiente duda. Resulta que tengo una tabla usuario donde en principio unos de sus campos quiero que sea por defecto 0 ...
  #1 (permalink)  
Antiguo 23/01/2018, 02:19
 
Fecha de Ingreso: agosto-2008
Mensajes: 605
Antigüedad: 11 años, 3 meses
Puntos: 11
dudas con valor por defecto

Hola amigos tengo la siguiente duda. Resulta que tengo una tabla usuario donde en principio unos de sus campos quiero que sea por defecto 0 pero me gustaría si quiero cambiar ese cero por un 1 poder hacerlo. Me explico si yo desde un insert into no le digo nada a la consulta es decir no le mando el valor que me lo ponga a cero pero si si le mando el volor por ejemplo 1, que me ponga ese uno. Es para definir si un usuario es administrador o usuario. Pongo la consulta de ejemplo a ver is se me entiende mejor. Pero esto me da error:

Código MySQL:
Ver original
  1. INSERT INTO `usuario`( `nick`, `email`, `contrasena`, `tipo`) VALUES ('agustin', '[email protected]', 35677), ('manolo', '[email protected]', 35673, 1)


hay que entender que el campo0 tipo es de tipo int y tiene el valor cero por defecto. Lo que yo quiero es que si no le mando ningún valor me lo deje a cero pero si le mando el valor 1 me lo cambie a uno. Hay alguna manera de hacer esto. Gracias de antemano.
  #2 (permalink)  
Antiguo 23/01/2018, 09:00
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.404
Antigüedad: 13 años, 2 meses
Puntos: 774
Respuesta: dudas con valor por defecto

Si es asi como lo estas haciendo, el problema seria en el 1er insert

si te fijas:

INSERT INTO `usuario`( `nick`, `email`, `contrasena`, `tipo`)

El insert espera 4 valores, por lo que tendrias que poner el 4 valor aqui

VALUES ('agustin', '[email protected]', 35677,0)


Si quieres que entre el valor por defecto no se especifica la columna en el insert:

INSERT INTO `usuario`( `nick`, `email`, `contrasena`)
values VALUES ('agustin', '[email protected]', 35677)



Se entiende???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 23/01/2018, 09:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.319
Antigüedad: 12 años
Puntos: 2653
Respuesta: dudas con valor por defecto

Como comenta Libras, los valores por DEFAULT sólo aplican cuando el INSERT no incluye el campo en la lista.
Y eso es así para TODOS los DBMS.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 24/01/2018, 03:51
 
Fecha de Ingreso: agosto-2008
Mensajes: 605
Antigüedad: 11 años, 3 meses
Puntos: 11
Respuesta: dudas con valor por defecto

Gracias a los dos. duda resuelta.

Etiquetas: campo, defecto, dudas, ip, tabla, valor
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 18:00.