sql >> Base de Datos >  >> RDS >> Mysql

Advertencia # 1264:error fuera de rango en mysql

Creo que tienes este error porque el year_exp el campo es DECIMAL(2,2) , y quieres DECIMAL(4,2) . DECIMAL(2,2) significa un número de precisión 2, con hasta 2 decimales. Pero este número tiene 4 dígitos de precisión.

Este enlace a MSDN habla sobre la precisión decimal.

http://msdn.microsoft.com/ es-ES/library/ms187746(v=SQL.90).aspx

Aquí hay una prueba rápida con resultados similares (realizada en SQL Server 2008, pero creo que estás en MySQL...)

1) Creó una tabla con una columna de prueba:

CREATE TABLE testtable (testcolumn DECIMAL(2,2))

2) Ejecutó la declaración de inserción... :

INSERT INTO testtable (testcolumn) VALUES (23.45)

... y recibí este error...

(COMENTARIO:uno de mis errores favoritos... "no se puede convertir número a número...", ja, ja)

3) Columna alterada según las especificaciones adecuadas

ALTER TABLE testtable ALTER COLUMN testcolumn DECIMAL(4,2)

4) Vuelva a ejecutar la misma declaración de inserción. Funciona.

Por favor, hágame saber si esto ayuda.