回答

收藏

MySQL排序操作出现LIKE问题

技术问答 技术问答 199 人阅读 | 0 人回复 | 2023-09-12

我有一个整理问题。它会影响表的三列,即creation_date,product_id和lastmodified。
3 @" O; z" e4 R我将列变更为utf8mb但他们不接受。请看下面。
+ @& R- k# }- ICREATE TABLE `users` (  `id` int(32) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `creation_date` datetime DEFAULT NULL, `product_id` int(32) DEFAULT NULL, `lastmodified` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=121 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci查询:
7 o$ b* L* z3 z) uselect * from users u where u.name like '%phil臈p%'No errors,1 row.select * from users u where u.creation_date like '%phil臈p%'Illegal mix of collations for operation 'like'MySQL系统变量:
/ A# L' d! d5 L. `, n$ sshow variables like '%character_set%';character_set_client    utf8character_set_connection    utf8character_set_database  utf8character_set_filesystem    binarycharacter_set_results   utf8character_set_server    utf8mb4character_set_system    utf8手动强迫我MySQL在转换句子中的列时,它确实起作用。
7 S  Z" \  J/ J& r/ D8 P& b( o. w. `select * from users u where CONVERT(u.creation_date USING utf8mb4) like '%phil臈p%'No errors; 0 rows;它不是utf8mb4格式吗?  G8 C. g+ B% X! C
将不胜感激。+ _  {& O3 f3 T0 t
                                                               
7 `/ D& ?- L: D* K5 q3 u    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则