Bug #119141 The results returned by the prepare query are different from those returned by the non-prepare query.
Submitted: 13 Oct 2025 8:21 Modified: 6 Jan 11:27
Reporter: Alice Alice Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: DML Severity:S3 (Non-critical)
Version:8.0.41 OS:Linux
Assigned to: CPU Architecture:x86

[13 Oct 2025 8:21] Alice Alice
Description:
mysql> create table tt(c1 year);
Query OK, 0 rows affected (0.05 sec)

mysql> insert into tt values("2155"),("2069"),("1901"),("2001");
Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0

mysql> set @L=2147483647;
Query OK, 0 rows affected (0.00 sec)

mysql> prepare stmt from "select distinct c1 from tt where c1 > ? order by c1";
Query OK, 0 rows affected (0.00 sec)
Statement prepared

mysql> select @L;
+------------+
| @L         |
+------------+
| 2147483647 |
+------------+
1 row in set (0.00 sec)

mysql> execute stmt using @L;
+------+
| c1   |
+------+
| 1901 |
| 2001 |
| 2069 |
| 2155 |
+------+
4 rows in set (0.00 sec)

mysql> select distinct c1 from tt where c1 > 2147483647 order by c1;
Empty set (0.00 sec)

How to repeat:
1.create table and insert data
create table tt(c1 year);

2.Prepare query
insert into tt values("2155"),("2069"),("1901"),("2001");
set @L=2147483647;
prepare stmt from "select distinct c1 from tt where c1 > ? order by c1";
select @L;
execute stmt using @L;

3.Non-prepare query
select distinct c1 from tt where c1 > 2147483647 order by c1;
[6 Jan 11:27] Øystein Grøvlen
Thank you, for the test case. Verified as described.