哪个网站是免费建站,长沙网站seo推广公司,网站首页被k还有救吗,上海备案证查询网站查询SELECT * FROM users WHERE id 123;这条语句失效的原因就是id是int类型的主键#xff0c;比较的时候把id从int转化为字符串来比较了#xff0c;而字符串的比较规则和int的比较规则明显不同#xff0c;字符串是字典序比较的#xff0c;还涉及到数据的长度#xff0c;那为什…SELECT * FROM users WHERE id 123;这条语句失效的原因就是id是int类型的主键比较的时候把id从int转化为字符串来比较了而字符串的比较规则和int的比较规则明显不同字符串是字典序比较的还涉及到数据的长度那为什么是id从int 转为字符串而不是字符串转化为int呢这是因为int转为字符串是1对1的转换比如10只能转化为’10’而’10‘、10b’等都会转换为10而且从字符串转换为int有风险超出数据范围怎么办所以只能int转string。其他索引失效的例子都是如此例如Date类型和string。 解决方案就是避免不同类型的比较避免使用隐式转换用显示转换。