content_image/763761.jpg
otherwise to treat it as unsigned; the order in which they are listed is not significant. Neither ALL_SIGNED nor ALL_UNSIGNED  has any effect if at least one of ALL_LOSSY  or ALL_NONLOSSY  is not also used. 

Changing the type conversion mode requires restarting the replica with the new slave_type_conversions  setting. 

Supported conversions.  Supported conversions between different but similar data types are shown in the following list: 

•Between any of the integer types TINYINT , SMALLINT , MEDIUMINT , INT , and BIGINT . 

This includes conversions between the signed and unsigned versions of these types. 

Lossy conversions are made by truncating the source value to the maximum (or minimum) permitted by the target column. For ensuring non-lossy conversions when going from unsigned to signed types, the target column must be large enough to accommodate the range of values in the source column. For example, you can demote TINYINT UNSIGNED  non-lossily to SMALLINT , but not to TINYINT . 

•Between any of the decimal types DECIMAL , FLOAT , DOUBLE , and NUMERIC . 

FLOAT  to DOUBLE  is a non-lossy conversion; DOUBLE  to FLOAT  can only be handled lossily. A conversion from DECIMAL( M , D )  to DECIMAL( M’ , D’ )  where D’  >= D  and ( M’ - D’ ) >= ( M - D ) is non-lossy; for any case where M’  < M , D’  < D , or both, only a lossy conversion can be made. 

For any of the decimal types, if a value to be stored cannot be fit in the target type, the value is rounded down according to the rounding rules defined for the server elsewhere in the documentation. See Section 12.25.4, “Rounding Behavior” , for information about how this is done for decimal types. 

•Between any of the string types CHAR , VARCHAR , and TEXT , including conversions between different widths. 

Conversion of a CHAR , VARCHAR , or TEXT  to a CHAR , VARCHAR , or TEXT  column the same size or larger is never lossy. Lossy conversion is handled by inserting only the first N  characters of the string on the replica, where N  is the width of the target column. 

<img src='content_image/763761.jpg'>

## Important 

Replication between columns using different character sets is not supported. 

•Between any of the binary data types BINARY , VARBINARY , and BLOB , including conversions between different widths. 

Conversion of a BINARY , VARBINARY , or BLOB  to a BINARY , VARBINARY , or BLOB  column the same size or larger is never lossy. Lossy conversion is handled by inserting only the first N  bytes of the string on the replica, where N  is the width of the target column. 

•Between any 2 BIT  columns of any 2 sizes. 

When inserting a value from a BIT( M )  column into a BIT( M’ )  column, where M’  > M , the most significant bits of the BIT( M’ )  columns are cleared (set to zero) and the M  bits of the BIT( M )  value are set as the least significant bits of the BIT( M’ )  column. 

When inserting a value from a source BIT( M )  column into a target BIT( M’ )  column, where M’  < M , the maximum possible value for the BIT( M’ )  column is assigned; in other words, an “all-set”  value is assigned to the target column. 

Conversions between types not in the previous list are not permitted. 

