|
I run a script which makes a few implicit conversions MEDIUMINT to string:
CREATE OR REPLACE TABLE t1 (a MEDIUMINT, b MEDIUMINT UNSIGNED);
|
CREATE OR REPLACE TABLE t2 AS SELECT
|
CONCAT(a),
|
CONCAT(b),
|
COALESCE(a,''),
|
COALESCE(b,'')
|
FROM t1;
|
DESC t2;
|
+----------------+------------+------+-----+---------+-------+
|
| Field | Type | Null | Key | Default | Extra |
|
+----------------+------------+------+-----+---------+-------+
|
| CONCAT(a) | varchar(9) | YES | | NULL | |
|
| CONCAT(b) | varchar(8) | YES | | NULL | |
|
| COALESCE(a,'') | varchar(9) | YES | | NULL | |
|
| COALESCE(b,'') | varchar(8) | YES | | NULL | |
|
+----------------+------------+------+-----+---------+-------+
|
The data types of the t2 columns corresponding to signed columns in t1 is wrong: 9 is too excessive. All columns in t2 must have length of 8.
|