The following query:
INSERT INTO skill (`emp_number`, `skill_id`, `year_exp`, `comments`)
VALUES ('4', '3', '23.45', '')
It is producing the error :
1 row inserted.
Warning: #1264 Out of range value for column 'year_exp' at row 1
year_exp column is of datatype decimal(2,2)
Please help me to pint out the error.
Change fieldtype to
decimal(4,2)
. Details: https://dev.mysql.com/doc/refman/5.7/en/precision-math-decimal-characteristics.htmlI believe you're having this error because the
year_exp
field isDECIMAL(2,2)
, and you wantDECIMAL(4,2)
.DECIMAL(2,2)
means a number of precision 2, with up to 2 decimal places. But this number has 4 digits of precision.This link to MSDN talks about the decimal precision.
http://msdn.microsoft.com/en-US/library/ms187746(v=SQL.90).aspx
Here's a quick test with similar results (done in SQL Server 2008, but I think you're on MySQL...)
1) Created a table with a test column:
2) Ran insert statement... :
... and received this error ...
(COMMENT: one of my fave errors ... "cannot convert number to number ..." ha ha)
3) Altered column to proper specifications
4) Re-ran same insert statement. It works.
Please let me know if this helps.