mysql的sql-mode设置为''带来的问题

   在linux下网管安装的mysql不知何故其sql-mode设置为'',这样导致在插入数据的时候,如果数据长度大于字段的长度则多余的部分会被自动截断。

下面表格说明了char和varchar之间的区别:

CHAR(4)

存储需求

VARCHAR(4)

存储需求

''

'    '

4个字节

''

1个字节

'ab'

'ab  '

4个字节

'ab '

3个字节

'abcd'

'abcd'

4个字节

'abcd'

5个字节

'abcdefgh'

'abcd'

4个字节

'abcd'

5个字节


 
一般情况下sql-mode应该设置为STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

你可能感兴趣的:(mysql的sql-mode设置为''带来的问题)