答案 0 :(得分:0)
<强>更新强> 如果我的理解是正确的。您将UserTable构建为Above。
单个用户拥有一张SINGLE图片..如果用户更改了他们的图片,您希望将其绑定到每条消息。
基于这些假设建立MessageTable应该只有这3列假设这是你存储&#34;消息的地方&#34;
id_mesg,fk_userId,MessageText。
然后,以下Statement将在每次运行时为您提供更新的图像...
SELECT mt.id_msg, mt.MessageText, ut.img, ut.uname
FROM UessageTable mt
JOIN UserTable ut
On ut.id_user= mt.fk_userId
从消息表中完全删除img列和uname列。不需要它们。
答案 1 :(得分:0)
我不知道这是否适用于mysql,而是sql中的一个想法
ALTER TABLE message-table ADD CONSTRAINT fk-message-img FOREIGN KEY
(img)
REFERENCES user_table(id_user);
答案 2 :(得分:0)
您可以在此处使用Alter Table语句。
ALTER TABLE消息表ADD CONSTRAINT user_img FOREIGN KEY(img)REFERENCES user-table(img)ON DELETE ON UPDATE;
对于您的用例,您可以使用级联选项,让更改从用户表流向消息表
此外,如果用户到图像映射是1:1,那么您不应该在消息表中复制img。相反,只需保留user-table的uName并在读取时加入该列。