MySQL无主键关联查询时无法返回正确结果

现在MySQL有t1表:

task_idvalue
task1
task22002
task32002
task42002

t2表:

task_idvalue
task12001
task12002
task22002
task32002
task42002

两张表都没有设置primary key,字段类型均为varchar。现执行:

SELECT t1.task_id,

t1.value,

t2.value

FROM t1 LEFT JOIN t2 ON t1.task_id = t2.task_id;

会返回结果:

task_idvaluevalue(1)
task1null2001
task1null2002
task220022002
task32002null

即使把t1、t2表的task4所在行均删掉,再执行上述语句也会返回同样的结果。这是为什么呢?

回答

结果哪里有问题

建议你检查下 t1或则t2表里的 task_id 是不是哪一边的 t4后面多了空格. 用你的表,和你的 sql 查询出来是5行数据,task4是在结果里的.不要怀疑一个成熟的产品在这种基本的问题上会犯错误

微信截图_20200604112801.png

你看这个数据,我造了你的数据去执行,结果怎么和你的不一样呢,没问题啊,估计是你本地数据的问题了,你查一下你本地的数据,SQL语法是没问题的。

以上是 MySQL无主键关联查询时无法返回正确结果 的全部内容, 来源链接: utcz.com/a/20769.html

回到顶部