Skip to content

v1.9.0: Error 3144 when updating JSON field with parameterized IF condition (MySQL 8) #1685

Answered by methane
suiriass asked this question in Q&A
Discussion options

You must be logged in to vote

​1、Why does the parameter type (int64 vs float64) affect the behavior?
When using int64 for the ID, MySQL treats the second ? as a BINARY string, causing the JSON error.
But with float64, the same query succeeds ​without CAST or interpolateParams.

I don't know. Please ask to MySQL.

​2、Is this a driver inconsistency?

No

Should the driver standardize parameter handling to avoid such type-dependent edge cases?

No

Or is this a MySQL server behavior that users must explicitly mitigate (e.g., always CAST for JSON fields)?

Yes, maybe. But ask to bugs.mysql.com.

If this is a MySQL server limitation, adding a note to the driver’s documentation about JSON fields and placeholder inference w…

Replies: 1 comment 2 replies

Comment options

You must be logged in to vote
2 replies
@suiriass
Comment options

@methane
Comment options

Answer selected by suiriass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants
Converted from issue

This discussion was converted from issue #1684 on March 21, 2025 00:01.