Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Erstellen einer Tabelle mit arithmetischem Überlauffehler

Ihr Feld JOB_CHG_HOUR kann nur 4-stellige Zahlen mit zwei Dezimalstellen enthalten, also bis zu 99,99. Sie versuchen, eine Zeile einzufügen, die 125,00 als JOB_CHG_HOUR enthält Wert. Das ist der Grund, warum Sie dieses Feld überlaufen (die Kapazität überschreiten). Erwägen Sie, Ihre create-Anweisung zu ändern:

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
);

Außerdem, gemäß Ihrer Tabellenerstellungsanweisung, das Feld JOB_CODE ist vom Typ CHAR(3) , also brauchen Sie Anführungszeichen in Ihren Insert-Anweisungen.

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

Vergessen Sie nicht das Semikolon ; am Ende Ihrer Aussage!