在mySQl中连接表-警告:#1292双重值被截断了不正确

问题描述 投票:0回答:1

我正在尝试连接mySQL上的两个表,一个表具有与特定人员相关联的ID,另一个表具有一条已发送给网站上的该人的消息。为了将特定消息与已发送给的特定人员相关联,我正在尝试进行内部联接。但是,我收到警告:

#1292截断了错误的DOUBLE值。

有人可以请教吗?

我的内部联接如下:

SELECT gymafi_admin.id, gymafi_admin_tominbox.message 
FROM gymafi_admin 
INNER JOIN gymafi_admin_tominbox ON gymafi_admin.id = gymafi_admin_tominbox.message

非常感谢!

mysql inner-join
1个回答
0
投票

此连接条件看起来不正确:

ON gymafi_admin.id = gymafi_admin_tominbox.message

[大概,左边的列是一个数字(代表用户的ID),而右边的是一个字符串(消息)。这将解释您得到的警告,因为MySQL随后将尝试将字符串(message)转换为整数值以便进行比较。

我确实怀疑右侧的列应该是其他内容,用于存储用户的id。假设此列名为admin_id,您的查询将类似于:

SELECT a.id, i.message 
FROM gymafi_admin a
INNER JOIN gymafi_admin_tominbox i ON a.id = i.admin_id

请注意,我添加了表别名以缩短它并使它更具可读性。

© www.soinside.com 2019 - 2024. All rights reserved.