| Bug #108011 | the special character | ||
|---|---|---|---|
| Submitted: | 28 Jul 2022 6:54 | Modified: | 23 Aug 2022 2:19 |
| Reporter: | hui zhu | Email Updates: | |
| Status: | Not a Bug | Impact on me: | |
| Category: | MySQL Server: DML | Severity: | S3 (Non-critical) |
| Version: | 8.0.27, 5.7.39, 8.0.30 | OS: | CentOS |
| Assigned to: | CPU Architecture: | x86 | |
[28 Jul 2022 8:00]
MySQL Verification Team
Hello hui zhu, Thank you for the report and test case. regards, Umesh
[2 Aug 2022 9:20]
Roy Lyseng
Posted by developer: This is not a bug. MySQL uses \ as a default escape character in LIKE patterns, thus this character must be duplicated in the pattern to get a match.
[23 Aug 2022 2:19]
hui zhu
Hello,Roy Lyseng Thanks for your reply.

Description: when the records in the table include the special character "\",will cause the query result incorrect How to repeat: CREATE TABLE IF NOT EXISTS t0(c0 VARCHAR(100) , c1 REAL NOT NULL, c2 BIGINT ZEROFILL UNIQUE, PRIMARY KEY(c0, c2)) INSERT INTO t0 VALUES ("", -1804110191, 1310085724); INSERT INTO t0 VALUES (" s", 1457785441, 860465620); INSERT INTO t0 VALUES ('{4Nuap', -1755053066, 1138686299); CREATE UNIQUE INDEX ic1 USING HASH ON t0(c0, c2, c1); INSERT INTO t0 VALUES ("\\Ed>ZD", -1993329556, 1831716460); INSERT INTO t0 VALUES ('mrb2*HkcI', 793249193, 0); SELECT t0.c0 FROM t0 WHERE (NOT (t0.c0 LIKE t0.c0)); As expected,the query result should be no record,but in fact,the query result shows one record,the value is "\\Ed>ZD".