sql >> Database >  >> RDS >> Mysql

Waarschuwing #1264:fout buiten bereik in mysql

Ik denk dat je deze fout hebt omdat de year_exp veld is DECIMAL(2,2) , en je wilt DECIMAL(4,2) . DECIMAL(2,2) betekent een getal met precisie 2, met maximaal 2 decimalen. Maar dit getal heeft een nauwkeurigheid van 4 cijfers.

Deze link naar MSDN spreekt over de decimale precisie.

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

Hier is een snelle test met vergelijkbare resultaten (uitgevoerd in SQL Server 2008, maar ik denk dat u MySQL gebruikt...)

1) Een tabel gemaakt met een testkolom:

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

2) Voer invoegopdracht uit... :

INSERT INTO testtable (testcolumn) VALUES (23.45)

... en kreeg deze fout ...

(OPMERKING:een van mijn favoriete fouten ... "kan nummer niet converteren naar nummer ..." ha ha)

3) Kolom gewijzigd in juiste specificaties

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

4) Herhaal dezelfde insert-instructie. Het werkt.

Laat het me weten als dit helpt.



  1. Schijfruimte terugwinnen na het neerzetten van de database in mysql

  2. Enige prestatie-impact in Oracle voor het gebruik van LIKE 'string' vs ='string'?

  3. qt5.1.1 mysql ubuntu QMYSQL-stuurprogramma niet geladen

  4. C# - MySQL versus Microsoft SQL Server