Comunidad de diseño web y desarrollo en internet online

Valor decimal en BD

Citar            
MensajeEscrito el 19 Ene 2009 06:06 pm
Estoy creando una tabla, en la que pretendo poner un valor decimal a un campo (ej. 2,5) pongo q el campo sea de tipo, float o decimal.... pero me da este error:

Código :

#1427 - For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'carnes').


Entonces? que tengo q hacer para q sea decimal?? :(

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Ene 2009 06:48 pm
Ahí lo dice muy bien... en decimal(M,D) M debe ser mayor que D, al lo mejor estás haciendo algo así:

Código MySQL :

-- Nota que en la siguiente sentencia, según la sintáxis M(2)
-- es menor que D(4) y por eso da error...
CREATE TABLE nom_tabla (carnes DECIMAL(2,4));

-- Si lo quieres con una presición de 4 dígitos 
-- como mínimo debería ser:
CREATE TABLE nom_tabla (carnes DECIMAL(5,4));

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

firefox
Citar            
MensajeEscrito el 19 Ene 2009 06:54 pm
Juer... y entonces, como pongo el 2,5 ??? Pq tengo varios campos con valores similares, y siempre M va a ser menor q D.... me sorprende q no se pueda...es que los decimales en numeros pequeños no se usan?? :S

Tiene q haber alguna forma :(

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Ene 2009 06:59 pm
Tendrías que hacerlo así: DECIMAL(6,5), no hay problema en que sean 6 dígitos en la parte entera, pues si insertas 12,5 va a ser guardado como 12,50000 recuerda que los ceros a la izquierda son insignificantes...

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

firefox
Citar            
MensajeEscrito el 19 Ene 2009 07:24 pm
Lo estoy haciendo desde phpmyadmin... y he probado a poner... 02,5 , 2,05 , 2,500 ... no me deja ninguno.... ¿entonces? q es lo q tengo q poner?

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Ene 2009 07:30 pm

Hapki escribió:

Lo estoy haciendo desde phpmyadmin... y he probado a poner... 02,5 , 2,05 , 2,500 ... no me deja ninguno.... ¿entonces? q es lo q tengo q poner?

Vos tenes que hacelo así:

7,5

Eso representa esto: XX.XXXXX.

El siete no es la parte entera. Es el tamaño del campo, el segundo argumento es el número de decimales. Sho creo entonces que 7,5 de MySQL, representa lo que para vos es 2,5.

saludos

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 19 Ene 2009 08:49 pm
Uhmmmm... si... Dano tiene razón U_U

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

firefox
Citar            
MensajeEscrito el 19 Ene 2009 10:59 pm
Ahora... ya!!... Es q estaba confundida, estaba intentando meter el valor del campo, en la longitud, y me estaba mareando, después de leer a Dano, me di cuenta del fallo, jeje.... que empaná estoy por dios! jeje.... Bueno pues ya está.... conseguido!

Gracias Dano y KB-27 por vuestro tiempo y ayuda :D

Por Hapki

Claber

268 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.