mysql - 如何选择带有外键的项目?
问题描述
下面是我的桌子。登录时,我想选择所有属于例如user
with的消息id = 1
。我尝试过类似的方法,但它不起作用,select id from users where users.id = message_sent.id_user
我得到的错误是:
#1054 - Unknown column 'message_sent.id_user' in 'where clause'
解决方案
您要使用的称为join
.
在你的情况下:SELECT id FROM users JOIN message_sent ON users.id = message_sent.id_user
小费
我看到您使用增量计数器作为行的 id。这是一个非常糟糕的主意。你永远不应该使用增量计数器。原因在哪里:
- 一个人可以使用脚本循环遍历您的用户或消息。
- 人们可以只计算你有多少用户
请看看这个:https ://youtu.be/gocwRvLhDf8?t=119
您应该只使用随机生成的字符串或数字(也在视频中进行了说明)。看看有没有被拍。如果不采取使用它。这不是很多工作,并提高了您网站的安全性!
推荐阅读
- java - 如何在 Camel K 中将 InputStream 转换为 Json
- mysql - 如何从表 A 中选择表 B 中不存在的记录
- c# - 如何自定义 AutoFixture 以默认创建复杂对象?
- javascript - 管理菜单页面中的 Wordpress ajax 调用
- mathematical-optimization - 在 Pyomo 中使用 DICOPT 求解器求解非线性模型
- r - ggplot2:手动将图例添加到现有图例
- ios - 可可豆荚的 Xcode 12.3 问题
- azure - 特定 IP 的 Azure 应用程序网关重定向排除?
- c# - EntityFrameworkCore 交换 DbConnection(添加事务)
- firebase - 任务“:assets_audio_player:compileDebugKotlin”执行失败