我有那个错误“#1273 - 未知排序规则:'utf8mb4_0900_ai_ci'”
I have that error"#1273 - Unknown collation: 'utf8mb4_0900_ai_ci'"
CREATE TABLE `payment_methods` (
`payment_method_id` tinyint(4) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`payment_method_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
CREATE TABLE payment_methods
( payment_method_id tinyint(4) NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL,
PRIMARY KEY (payment_method_id)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
注意:COLLATE=utf8mb4_0900_ai_ci 替换为 COLLATE=utf8mb4_general_ci
utf8mb4_0900_ai_ci 是 MySQL 8.0
中新增的排序规则
它在 MySQL 的早期版本中无法识别,例如 5.7。
它也可能无法在 MySQL 的分支中识别,例如 MariaDB。
您应该只在 MySQL 8.0 中使用该排序规则。
查阅您正在使用的软件版本的文档以查看支持的归类集。
例如:https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html
或查询INFORMATION_SCHEMA.COLLATIONS
以查找列表。
CREATE TABLE `payment_methods` (
`payment_method_id` tinyint(4) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`payment_method_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
CREATE TABLE payment_methods
( payment_method_id tinyint(4) NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL,
PRIMARY KEY (payment_method_id)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
注意:COLLATE=utf8mb4_0900_ai_ci 替换为 COLLATE=utf8mb4_general_ci
utf8mb4_0900_ai_ci 是 MySQL 8.0
中新增的排序规则它在 MySQL 的早期版本中无法识别,例如 5.7。
它也可能无法在 MySQL 的分支中识别,例如 MariaDB。
您应该只在 MySQL 8.0 中使用该排序规则。
查阅您正在使用的软件版本的文档以查看支持的归类集。
例如:https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html
或查询INFORMATION_SCHEMA.COLLATIONS
以查找列表。