当我尝试在Adminer和Sequel Pro中执行以下查询时:
SELECT * FROM `sms_messages` WHERE `message` REGEXP '[^[:ascii:]]+'
我在MYSQL中遇到以下错误:
Error in query (1139): Got error 'invalid character class' from regexp
但是,它可以在我的本地计算机上运行,但不能在AWS RDS中运行。在本地,我已经使用MariaDB 10.1.37安装了XAMPP。我在AWS RDS中有MySQL 5.7.26引擎版本。怎么了?
答案 0 :(得分:0)
从REGEXP
的{{3}}(5.7版本,而不是8.0)可以看出,没有受支持的[:ascii:]
字符集。但是,我们可以使用以下十六进制范围匹配所有ASCII字符:
[\x00-\x7F]
您更新的查询:
SELECT *
FROM sms_messages
WHERE CONVERT(message USING BINARY) REGEXP '[^\x00-\x7F]';