MySQL转换为TINYINT
在什么情况下MySQL会将类型转换为TINYINT? 我知道,在DDL中的BOOL或BOOLEAN类型会自动转换为TINYINT(1)以表示真或假。 我正在分析一个表中的字段上有一个varchar(16)类型的数据库,另一个表上的同一个字段上有tinyint(4)? 例如t1.name varchar(15)和t2.name tinyint(4)其中t1.name = t2.name。
不要依赖隐式类型转换,手动进行数据类型分析:
首先让我们看看MySQL认为什么是最适合你的数据的类型。 运行一个
SELECT * FROM table PROCEDURE Analyse()
说说进一步分析你的数据
SELECT * FROM table WHERE varcharCol NOT REGEXP '^[0-9].*$'
获取varcharCol中的所有非数字值。 如果没有,你最终必须在这里检查不同MySQL类型的值范围。
然后,您就可以将varcharCol转换为TINYINT。
链接地址: http://www.djcxy.com/p/25145.html