首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL使用左联接时发生错误

MySQL使用左联接时发生错误
EN

Stack Overflow用户
提问于 2022-03-23 12:05:21
回答 1查看 40关注 0票数 -2

当我在mysql中使用左联接时,有两条数据,但我确信只有一条数据会出来

sql是

代码语言:javascript
复制
SELECT bs.id,distribute_user_id,manager_id,phone,manager_name 
FROM   bank_integral_distribute_serial bs 
         LEFT JOIN manager mi ON bs.distribute_user_id = mi.manager_id 
WHERE bs.phone = "13978836385"

各自的数据sql是

代码语言:javascript
复制
SELECT  * 
FROM    bank_integral_distribute_serial 
WHERE   distribute_user_id="1475118915817316353"

sql是

代码语言:javascript
复制
SELECT  * 
FROM    manager 
WHERE   manager_id = "1475118915817316353"

我还查了一下手机号码,只有一个

在这里输入图像描述

问题:为什么有两条数据?

EN

回答 1

Stack Overflow用户

发布于 2022-03-23 17:15:17

原因是MySQL比较类型不一致。

你可以看到

https://dev.mysql.com/doc/refman/5.7/en/type-conversion.html

distribute_user_id原来的表是bigint : manager_id是varchar

代码语言:javascript
复制
SELECT IF("1475118915817316353"=1475118915817316354,"equal","unequal") //The results are equal

SELECT IF("1475118915817316311"=1475118915817316360,"enqual","unequal") //The results are equal

//left:[1475118915817316224,1475118915817316480] The results are equal, both with the right side
SELECT IF("1475118915817316480"=1475118915817316360,"enqual","unenqual")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71586913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档