| Bug #103424 | Query error in hexadecimal | ||
|---|---|---|---|
| Submitted: | 22 Apr 2021 8:58 | Modified: | 22 Apr 2021 9:17 |
| Reporter: | Guo Wenxuan | Email Updates: | |
| Status: | Verified | Impact on me: | |
| Category: | MySQL Server: DML | Severity: | S1 (Critical) |
| Version: | 8.0.23, 8.0.24 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
[22 Apr 2021 9:13]
MySQL Verification Team
Thank you for the bug report.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.24 MySQL Community Server - GPL
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use test
Database changed
mysql> CREATE TABLE `t1` (
-> `COL1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci
-> ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Compact;
Query OK, 0 rows affected (0.05 sec)
mysql>
mysql> insert into t1 values("mysql");
Query OK, 1 row affected (0.02 sec)
mysql> select * from t1 where col1 = "mysql" and col1 = "mysql";
+-------+
| COL1 |
+-------+
| mysql |
+-------+
1 row in set (0.01 sec)
mysql>
[22 Apr 2021 9:15]
Guo Wenxuan
Why not a bug
[22 Apr 2021 9:16]
MySQL Verification Team
d:\dbs>d:\dbs\8.0\bin\mysql -uroot --port=3580 -p --local-infile=1 --prompt="mysql 8.0 > " --default-character-set=latin1
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.25 Source distribution BUILT: 2021-APR-22
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql 8.0 > use test
Database changed
mysql 8.0 > CREATE TABLE `t1` (
-> `COL1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci
-> ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Compact;
Query OK, 0 rows affected (0.03 sec)
mysql 8.0 >
mysql 8.0 > insert into t1 values("mysql");
Query OK, 1 row affected (0.01 sec)
mysql 8.0 > select * from t1 where col1 = "mysql" and col1 = "mysql";
+-------+
| COL1 |
+-------+
| mysql |
+-------+
1 row in set (0.00 sec)
mysql 8.0 >
[22 Apr 2021 9:17]
MySQL Verification Team
Sorry I didn't noticed the correct query.

Description: correct: mysql> select * from t1 where col1 = "mysql" and col1 = "mysql"; +-------+ | COL1 | +-------+ | mysql | +-------+ incorrect: mysql> select * from t1 where col1 = 0x6d7973716c and col1 = 0x6d7973716c; Empty set How to repeat: CREATE TABLE `t1` ( `COL1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Compact; insert into t1 values("mysql");