错误1264 MySQL即使值在int参数内

时间:2016-08-02 19:54:26

标签: mysql sql database

我已经阅读并理解int只能保存最大值2147483647.我的问​​题是MySQL字段说它有问题,值为“1”,完全在2147483647之内。

以下是我的回复:

Error Code: 1264. Out of range value for column 'state_Title_ID' at row 1

以下是我正在使用的代码:

INSERT INTO tbl_position_history
    SELECT * FROM tbl_active_position 
        WHERE position_AI_Number=1
            AND uconn_position_ID=99002805;

以下是它选择的信息:

position_AI_Number, uconn_Position_ID, data_Start_Date, data_End_Date, employee_AI_Number, state_Title_ID, functional_Title_ID, org_ID, pos_Paid_By_ID, bond_Fund_Paid_Engineer, union_ID, job_Start_Date, full_Time_Employee, additional_History, status_TSHC, object_ID, cust_Floater, assignment_ID, status_ID, staffing_Plan_ID, shift_ID, cust_Area_ID
'1', '99002805', '0000-00-00', '2016-07-27', '2', '1', '1', '1616', '2', '1', '6', NULL, '1', 'Facilities IT', '0', '5240', '0', NULL, '2', NULL, '1', NULL

这是位置历史表:

    Field, Type, Null, Key, Default, Extra
    'position_AI_Number', 'int(11)', 'NO', 'PRI', NULL, ''
    'uconn_Position_ID', 'int(11)', 'NO', 'PRI', NULL, ''
    'data_Start_Date', 'date', 'NO', '', NULL, ''
    'state_Title_ID', 'int(11)', 'YES', 'MUL', NULL, ''
    'functional_Title_ID', 'int(11)', 'YES', 'MUL', NULL, ''
    'org_ID', 'int(11)', 'YES', 'MUL', NULL, ''
    'pos_Paid_By_ID', 'int(11)', 'YES', 'MUL', NULL, ''
    'bond_Fund_Paid_Engineer', 'int(11)', 'YES', 'MUL', NULL, ''
    'union_ID', 'int(11)', 'YES', 'MUL', NULL, ''
    'employee_AI_Number', 'int(11)', 'YES', 'MUL', NULL, ''
    'data_End_Date', 'date', 'YES', '', NULL, ''
    'job_Start_Date', 'date', 'YES', '', NULL, ''
    'full_Time_Employee', 'float', 'YES', '', NULL, ''
    'additional_History', 'longtext', 'YES', '', NULL, ''
    'status_TSHC', 'tinyint(1)', 'YES', '', NULL, ''
    'object_ID', 'int(11)', 'YES', 'MUL', NULL, ''
    'cust_Floater', 'tinyint(1)', 'YES', '', NULL, ''
    'assignment_ID', 'int(11)', 'YES', 'MUL', NULL, ''
    'status_ID', 'int(11)', 'NO', 'MUL', NULL, ''
    'staffing_Plan_ID', 'int(11)', 'YES', 'MUL', NULL, ''
    'shift_ID', 'int(11)', 'YES', 'MUL', NULL, ''
    'cust_Area_ID', 'int(11)', 'YES', 'MUL', NULL, ''

这是积极的历史记录:

Field, Type, Null, Key, Default, Extra
'position_AI_Number', 'int(11)', 'NO', 'PRI', NULL, 'auto_increment'
'uconn_Position_ID', 'int(11)', 'NO', 'PRI', NULL, ''
'data_Start_Date', 'date', 'NO', '', NULL, ''
'data_End_Date', 'date', 'YES', '', NULL, ''
'employee_AI_Number', 'int(11)', 'YES', 'MUL', NULL, ''
'state_Title_ID', 'int(11)', 'YES', 'MUL', NULL, ''
'functional_Title_ID', 'int(11)', 'YES', 'MUL', NULL, ''
'org_ID', 'int(11)', 'YES', 'MUL', NULL, ''
'pos_Paid_By_ID', 'int(11)', 'YES', 'MUL', NULL, ''
'bond_Fund_Paid_Engineer', 'int(11)', 'YES', 'MUL', NULL, ''
'union_ID', 'int(11)', 'YES', 'MUL', NULL, ''
'job_Start_Date', 'date', 'YES', '', NULL, ''
'full_Time_Employee', 'float', 'YES', '', NULL, ''
'additional_History', 'longtext', 'YES', '', NULL, ''
'status_TSHC', 'tinyint(1)', 'YES', '', NULL, ''
'object_ID', 'int(11)', 'YES', 'MUL', NULL, ''
'cust_Floater', 'tinyint(1)', 'YES', '', NULL, ''
'assignment_ID', 'int(11)', 'YES', 'MUL', NULL, ''
'status_ID', 'int(11)', 'NO', 'MUL', NULL, ''
'staffing_Plan_ID', 'int(11)', 'YES', 'MUL', NULL, ''
'shift_ID', 'int(11)', 'YES', 'MUL', NULL, ''
'cust_Area_ID', 'int(11)', 'YES', 'MUL', NULL, ''

即使它与State_Title_ID具有相同的值,此代码也能完美运行:

INSERT INTO `positioncontrolv1`.`tbl_position_history`
(`position_AI_Number`,
`uconn_Position_ID`,
`data_Start_Date`,
`status_ID`,
`state_title_ID`)
VALUES
(100, 1010101, '2016-08-02',1,1);

有关该怎么做的任何建议?

1 个答案:

答案 0 :(得分:1)

您正在将tbl_active_position.data_End_Date(日期)插入tbl_position_history.state_Title_ID(一个int)。 MySQL不会自动匹配您的字段名称。