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

Avviso#1264:errore fuori intervallo in MySQL

Credo che tu stia riscontrando questo errore perché year_exp il campo è DECIMAL(2,2) e vuoi DECIMAL(4,2) . DECIMAL(2,2) indica un numero di precisione 2, con un massimo di 2 cifre decimali. Ma questo numero ha 4 cifre di precisione.

Questo collegamento a MSDN parla della precisione decimale.

http://msdn.microsoft.com/ it-US/library/ms187746(v=SQL.90).aspx

Ecco un rapido test con risultati simili (fatto in SQL Server 2008, ma penso che tu sia su MySQL...)

1) Creata una tabella con una colonna di test:

CREATE TABLE testtable (testcolumn DECIMAL(2,2))

2) Ho eseguito l'istruzione di inserimento... :

INSERT INTO testtable (testcolumn) VALUES (23.45)

... e ho ricevuto questo errore ...

(COMMENTO:uno dei miei errori preferiti ... "impossibile convertire il numero in numero ..." ah ah)

3) Colonna modificata secondo le specifiche corrette

ALTER TABLE testtable ALTER COLUMN testcolumn DECIMAL(4,2)

4) Eseguire nuovamente la stessa istruzione di inserimento. Funziona.

Per favore fatemi sapere se questo aiuta.