Why is MySQL select returning different result for the same value depending if it is quoted -


while querying table of products this:

select product_id products product_id = 1701114; 

i 2 rows result: 1701114 , 1701114b.

but after adding single quotation marks this:

select product_id products product_id = '1701114'; 

i expected single row result.

product_id column primary key of varchar type , unquoted value digital may cause, it's quite surprising equality sign changes 'like'

your column product_id varchar column. bad idea compare integer (1701114) rather string ('1701114').

what happens mysql silently converts product_id values numbers in order compare them 1701114. '1701114b' no number , should not convertable number, raise error, in opinion. however, mysql developers have decided convert nonetheless starting left right , going far possible. convert '1701114b' 1701114, hence unexpected match.


Comments

Popular posts from this blog

php - How to add and update images or image url in Volusion using Volusion API -

javascript - jQuery UI Splitter/Resizable for unlimited amount of columns -

javascript - IE9 error '$'is not defined -