sql >> Databasteknik >  >> RDS >> Mysql

Skapa en tabell med aritmetiskt spillfel

Ditt fält JOB_CHG_HOUR kan bara innehålla nummer med fyra siffror, med två decimaler, så upp till 99,99. Du försöker infoga en rad som innehåller 125,00 som en JOB_CHG_HOUR värde. Det är därför du svämmar över (överskrider kapaciteten) av det fältet. Överväg att ändra din skapa-sats till:

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

Dessutom, enligt tabellskapandet du har, fältet JOB_CODE är av typen CHAR(3) , så du behöver citattecken i dina infoga uttalanden.

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

Glöm inte semikolonet ; i slutet av ditt uttalande!



  1. Mysql "Fick fel -1 från lagringsmotorn" fel

  2. 2 sätt att returnera Unix-tidsstämpeln i SQLite

  3. MySQL - Välj från en lista med nummer de utan motsvarighet i id-fältet i en tabell

  4. Skapa en tabell från en fråga med ett annat tabellutrymme (Oracle SQL)