You seem to have misunderstood how -mapFieldType
works, from the manual
-mapFieldType srctype|All=dsttype, ...:
(starting with GDAL 2.0) converts any field of the specified type to another type. Valid types are : Integer, Integer64, Real, String, Date, Time, DateTime, Binary, IntegerList, Integer64List, RealList, StringList. Types can also include subtype between parenthesis, such as Integer(Boolean), Real(Float32), ... Special value All can be used to convert all fields to another type. This is an alternate way to using the CAST operator of OGR SQL, that may avoid typing a long SQL query. This is a generalization of -fieldTypeToString. Note that this does not influence the field types used by the source driver, and is only an afterwards conversion.
I've added emphasis to the relevant section, you need to specify two types and the program converts all fields of the 1st type to the 2nd. This section also hints that you may be able to achieve what you want using a cast in an SQL statement passed in using -sql
.