php - 另一个表中的用户选项: what is the best practice to check if an option is there?

标签 php mysql

我有几个用户可以选择的选项,主要是为了验证他在网站上的存在。

表格是这样的:

用户:

id=1
username=stackoverflow
password=oSKAJMMS;
address=xyz
...

选项:

user_id=1
option=AD3
<小时/>
user_id=1
option=AC1

在某些时候,我需要检查他在“选项”表中是否有特定选项(例如:AD3、AC1 等),并注意“选项”表中根本不存在没有选项的用户。

对此的最佳实践是什么?我想过 JOIN,但每次阅读 stackoverflow 时我都会找到更简单、更有效的方法,所以我问你我该怎么办!

最佳答案

SELECT  *
FROM    users u
WHERE   EXISTS (
        SELECT  1
        FROM    options o
        WHERE   o.user_id = u.id
                AND o.option = 'AC1'
        )

确保您在选项(user_id,选项)上有索引

关于php - 另一个表中的用户选项: what is the best practice to check if an option is there?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/851900/

相关文章:

php - 将表格结构化表格数据存储到数据库中 - 正确的方法是这样做吗?

php - 使用 PHP 和 mysql 自动完成一个值

MySQL - 联合和排序/排序行

php - 复选框 "checked"值与 session 和数据库值冲突 PHP

php - 多语言网站的 SEO 元

php - 无法通过 zoho api 上传文档

javascript - 防止 Sql 注入(inject),但按页面上的原样显示发布的数据

mysql - 更新记录时如何在 mysql 中避免此错误?

php - 将数据作为 php 变量插入到 table_name 中

php - 使用 php 脚本从不同网站读取文件