6. 字符集/排序
表定义时禁止使用字符集
英文名: CharsetOnTableDisallowed
规则描述: 禁止在表定义时指定字符集,以避免字符集不一致导致的数据问题。
预警级别: 警告 (Warning)
审查对象: CREATE TABLE
触发条件: 创建表时指定了字符集。
可配置: 否
支持的数据库类型: 所有 (ALL)
表应使用指定的字符集
英文名: SpecificCharSet4TableRequired
规则描述: 要求表必须使用指定的字符集,如UTF-8,以确保数据的一致性和国际化支持。
预警级别: 警告 (Warning)
审查对象: CREATE TABLE
触发条件: 表未使用指定的字符集。
可配置: 是
案例: 表达式可以配置为 utf8mb4(mysql) utf8(pg)
,表示MySQL和PostgreSQL表应当使用UTF-8编码。
支持的数据库类型: MySQL, PostgreSQL
表应使用指定的排序规则
英文名: SpecificCollation4TableRequired
规则描述: 要求表必须使用指定的排序规则,以确保数据的比较和排序行为符合预期。
预警级别: 警告 (Warning)
审查对象: CREATE TABLE
触发条件: 表未使用指定的排序规则。
可配置: 是
案例: 表达式可以配置为 utf8mb4_0900_ai_ci
,表示表应当使用UTF-8编码和不区分大小写的排序规则。
支持的数据库类型: MySQL
表和数据库的字符集不一致
英文名: CharsetsOnTable&DatabaseMismatch
规则描述: 要求表的字符集必须与数据库的字符 集一致,以避免数据一致性问题。
预警级别: 警告 (Warning)
审查对象: CREATE TABLE
触发条件: 表的字符集与数据库的字符集不一致。
可配置: 否
支持的数据库类型: 所有 (ALL)
禁止指定列的字符集
英文名: CharsetOnColumnDisallowed
规则描述: 禁止为列单独指定字符集,以避免字符集不一致导致的数据问题。
预警级别: 警告 (Warning)
审查对象: CREATE TABLE, ALTER TABLE MODIFY COLUMN
触发条件: 列被单独指定了字符集。
可配置: 否
支持的数据库类型: 所有 (ALL)
列的字符集和表不一致
英文名: CharsetsOnColumn&TableMismatch
规则描述: 要求列的字符集必须与表的字符集一致,以确保数据的一致性。
预警级别: 警告 (Warning)
审查对象: CREATE TABLE, ALTER TABLE MODIFY COLUMN
触发条件: 列的字符集与表的字符集不一致。
可配置: 否
支持的数据库类型: 所有 (ALL)
创建库必须指 定数据库字符集
英文名: Charset4DatabaseRequired
规则描述: 要求在创建数据库时必须指定字符集,以确保数据的一致性和兼容性。
预警级别: 警告 (Warning)
审查对象: CREATE DATABASE
触发条件: 创建数据库时未指定字符集。
可配置: 否
支持的数据库类型: 所有 (ALL)
数据库需指定默认排序规则(Collate)
英文名: Collation4DatabaseRequired
规则描述: 要求在创建数据库时指定默认的排序规则(collate),以确保数据的比较和排序行为符合预期。
预警级别: 警告 (Warning)
审查对象: CREATE DATABASE
触发条件: 创建数据库时未指定默认排序规则。
可配置: 否
支持的数据库类型: 所有 (ALL)
创建库或模式时必须使用指定字符集
英文名: SpecificCharset4DatabaseRequired
规则描述: 要求在创建数据库或模式时使用指定的字符集,以确保数据的一致性和兼容性。
预警级别: 警告 (Warning)
审查对象: CREATE DATABASE, CREATE SCHEMA
触发条件: 创建数据库或模式时未使用指定的字符集。
可配置: 是
案例: 表达式可以配置为 utf8mb4
,表示创建数据库或模式时应使用UTF-8编码。
支持的数据库类型: 所有 (ALL)
创建库或模式时使用规定的排序规则
英文名: SpecificCollation4DatabaseRequired
规则描述: 要求在创建数据库或模式时使用规定的排序规则,以确保数据的比较和排序行为符合预期。
预警级别: 严重 (Critical)
审查对象: CREATE DATABASE, CREATE SCHEMA
触发条件: 创建数据库或模式时未使用规定的排序规则。
可配置: 是
案例: 表达式可以配置为 utf8mb4_0900_ai_ci
,表示创建数据库或模式时应使用UTF-8编码和不区分大小写的排序规则。
支持的数据库类型: 所有 (ALL)