There are two problems with your implementation.
The reason the values are rounded to two digits of accuracy is because you explicitly defined the scale as 2.
In addition, FLOAT is an inaccurate data type in MySQL.
, DECIMAL .
, - :
CREATE TABLE `tblGeoCodes` (
`recNo` int(11) NOT NULL AUTO_INCREMENT primary key,
`longLocation` decimal(18,14) DEFAULT NULL,
`latLocation` decimal(18,14) DEFAULT NULL
);
:
mysql> CREATE TABLE `tblGeoCodes` (
-> `recNo` int(11) NOT NULL AUTO_INCREMENT primary key,
-> `longLocation` decimal(18,14) DEFAULT NULL,
-> `latLocation` decimal(18,14) DEFAULT NULL
-> );
Query OK, 0 rows affected (0.02 sec)
mysql>
mysql> insert into tblGeoCodes (longLocation,latLocation) values(-61.45859899999999 , 10.28289);
Query OK, 1 row affected (0.00 sec)
mysql>
mysql> select * from tblGeoCodes;
+-------+--------------------+-------------------+
| recNo | longLocation | latLocation |
+-------+--------------------+-------------------+
| 1 | -61.45859899999999 | 10.28289000000000 |
+-------+--------------------+-------------------+
1 row in set (0.00 sec)