云数据库 GAUSSDB-平台和客户端兼容性:sql_mode

时间:2024-11-01 17:14:26

sql_mode

参数说明:MySQL兼容模式下SQL行为控制配置项。

依赖sql_compatibility兼容性参数设置为MYSQL、b_format_version设置为'5.7'、b_format_dev_version 设置为's1'时,sql_mode才会生效。

参数类型:字符串

参数单位:

取值范围:空字符串''或 'strict_trans_tables,only_full_group_by,no_zero_in_date,no_zero_date,error_for_division_by_zero,no_auto_create_user,no_engine_substitution,pad_char_to_full_length'中的选项值。每个选项值的含义如表6所述。

表6 兼容性配置项

兼容性配置项

兼容性行为控制

参数配置说明

strict_trans_tables

当前仅支持对MySQL兼容数据库下数据类型及系统函数做校验。

设置时,对输入的参数格式和范围做严格校验。无效值输入或者超过范围时,解析报error。

不设置时,对输入的参数格式和范围做宽松校验,无效值输入或者超过范围时,解析报warning,返回对应数据的0值。

可独立设置和取消。

only_full_group_by

不允许出现非GROUP BY的key值、且不是常量和聚集函数的投影列。

可独立设置和取消,但无实际作用。

no_zero_in_date

不允许日期中的年、月、日是0值。

可独立设置和取消,但无实际作用。

no_zero_date

不允许日期是0值(0000-00-00)。

可独立设置和取消,但无实际作用。

error_for_division_by_zero

不允许被0除。

可独立设置和取消,但无实际作用。

no_auto_create_user

无实际作用,仅用作 SET SQL_MODE 语句包含此选项时不报错的兼容作用。

可独立设置和取消。

no_engine_substitution

无实际作用,仅用作 SET SQL_MODE 语句包含此选项时不报错的兼容作用。

可独立设置和取消。

pad_char_to_full_length

用于表中的char类型列格式化输出,包含时输出带有尾部空格的字符串,否则输出不带尾部空格字符串。

可独立设置和取消。

no_auto_value_on_zero

包含此选项后,向AUTO_INCREMENT自动增长列插入0值将不会自增。

可独立设置和取消。

默认值:'strict_trans_tables,only_full_group_by,no_zero_in_date,no_zero_date,error_for_division_by_zero,no_auto_create_user,no_engine_substitution'

设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

设置建议:

support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-1734.html