我的两台服务器上安装了mysql 5.6.27。
数据库有一个列类型为#define _GET_NTH_ARG(_1, _2, _3, _4, _5, _6, _7, _9, _10, N, ...) N
#define NUM_ARGS(...) EXPAND(_GET_NTH_ARG(__VA_ARGS__,9,8,7,6,5,4,3,2,1,0))
的表。
在一个服务器上的此列中插入字符串类型值(如1_2_3_4)时,它会存储值1并显示数据截断警告。
但是,如果我在另一台服务器上执行相同的查询,它会显示数据截断的错误消息,而不是插入值。
试图理解为什么mysql在一台服务器上而不在另一台服务器上转换值。
答案 0 :(得分:0)
听起来像配置问题,特别是严格的设置,请参阅https://www.davidpashley.com/2009/02/15/silently-truncated/