MySQL docs mention "MySQL performs rounding when storing values" and I suspect this is the issue here. I duplicated your issue but changed the storage type to be FLOAT:
CREATE TABLE
test (val, FLOAT);and the retrieved value did not matched the test value you provided.
My suggestion, for what it's worth, is use DECIMAL. I tried the same original test with:
CREATE TABLE test (val, DECIMAL(17,15));and it retrieved the value I gave it: 4.7064595222473145
Also, can you tell the version of mysql you are using ?
Cheers!!!
Ujjwal B Soni <baroda, gujarat, india> <+918866008962>
"Helping hands are better than praying lips......"