Mysql
 sql >> Database >  >> RDS >> Mysql

Creazione di una tabella con errore di overflow aritmetico

Il tuo campo JOB_CHG_HOUR può contenere solo numeri di 4 cifre, con due decimali, quindi fino a 99,99. Stai cercando di inserire una riga che contiene 125,00 come JOB_CHG_HOUR valore. Ecco perché stai traboccando (superando la capacità) di quel campo. Valuta la possibilità di modificare la tua dichiarazione di creazione in:

CREATE TABLE JOB
(
    JOB_CODE CHAR(3), 
    JOB_DESCRIPTION CHAR(25), 
    JOB_CHG_HOUR DECIMAL(5,2), --will now hold up to 999,99
    JOB_LAST_UPDATE DATE
);

Inoltre, in base alla dichiarazione di creazione della tabella che hai, il campo JOB_CODE è di tipo CHAR(3) , quindi hai bisogno di virgolette nelle tue dichiarazioni di inserimento.

INSERT INTO JOB (JOB_CODE, JOB_DESCRIPTION, JOB_CHG_HOUR , JOB_LAST_UPDATE)
VALUES('500', 'Programmer', 35.75, '26-Nov-09');

Non dimenticare il punto e virgola ; alla fine della tua dichiarazione!