我正在尝试连接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
非常感谢!
此连接条件看起来不正确:
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
请注意,我添加了表别名以缩短它并使它更具可读性。