正如MySQL 参考手册所述,
CHAR 列的长度固定为您在创建表时声明的长度。长度可以是 0 到 255 之间的任何值。存储 CHAR 值时,它们会用空格右填充到指定长度。检索 CHAR 值时,将删除尾随空格,除非启用 PAD_CHAR_TO_FULL_LENGTH SQL 模式。
如何在连接器/网络中启用 PAD_CHAR_TO_FULL_LENGTH 标志?(不是 ODBC)
正如MySQL 参考手册所述,
CHAR 列的长度固定为您在创建表时声明的长度。长度可以是 0 到 255 之间的任何值。存储 CHAR 值时,它们会用空格右填充到指定长度。检索 CHAR 值时,将删除尾随空格,除非启用 PAD_CHAR_TO_FULL_LENGTH SQL 模式。
如何在连接器/网络中启用 PAD_CHAR_TO_FULL_LENGTH 标志?(不是 ODBC)
如服务器 SQL 模式下所述:
要在运行时更改 SQL 模式,请
sql_mode
使用SET
语句设置全局或会话系统变量:SET GLOBAL sql_mode = 'modes'; SET SESSION sql_mode = 'modes';
设置该
GLOBAL
变量需要SUPER
特权并影响从那时起连接的所有客户端的操作。设置SESSION
变量仅影响当前客户端。每个客户端都可以随时更改其会话sql_mode
值。
因此,您希望按照以下几行执行一个普通的旧 SQL 命令:
SET SESSION sql_mode = 'PAD_CHAR_TO_FULL_LENGTH';