sql >> Database >  >> RDS >> Mysql

Een tabel maken met een rekenkundige overloopfout

Uw veld JOB_CHG_HOUR kan alleen getallen van 4 cijfers bevatten, met twee decimalen, dus tot 99,99. U probeert een rij in te voegen die 125,00 bevat als een JOB_CHG_HOUR waarde. Daarom loop je over (overschrijding van de capaciteit) van dat veld. Overweeg om uw aanmaakverklaring te wijzigen 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
);

Ook, volgens de tabel voor het maken van een tabel die je hebt, is het veld JOB_CODE is van het type CHAR(3) , dus je hebt aanhalingstekens nodig in je insert-statements.

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

Vergeet de puntkomma ; . niet aan het einde van uw verklaring!



  1. alternatief voor listagg in Oracle?

  2. VERWIJDEREN VS DROP in SQL

  3. Postgres-query om te controleren of een string een getal is

  4. MySQL - zoek het verschil tussen rijen van dezelfde tabel