选择列名(如果值存在)

  • 本文关键字:存在 如果 选择 mysql
  • 更新时间 :
  • 英文 :


我想选择具有值1且ID等于1的列名。我该怎么做?

例如,如果行中存在列名1,我将如何选择列名?假设我选择了 ID 1,我想要实现的预期最终结果将是Allowed_2Allowed_3

这是我在上一段中谈论的表格:https://i.stack.imgur.com/PL8Jr.png

通常不需要从数据库中检索列名,而是要处理表中的值。列名只是标识符,因此您可以链接代码和数据库,但除此之外它们不包含任何含义。

因此,对于您的示例,如果您想知道允许 id 1 的用户执行的操作,您将执行如下查询:

SELECT Allowed_2, Allowed_3 FROM tableName WHERE id = 1

然后像这样使用它(PHP 中的示例):

// database connection, query, etc.
$row = $result->fetch_assoc();
if ($row['Allowed_2'] === '1') { 
    echo 'user can do action 2'; 
}
if ($row['Allowed_3'] === '1') { 
    echo 'user can do this'; 
}

如果您的游戏变得更加复杂,用户越来越多,请考虑引入角色(例如管理员、用户、游戏管理员等)。您可能有一个名为 role 的表,该表具有 id、名称,然后是不同的Allowed_X列。然后,您可以将每个用户映射到一个或多个角色,并以这种方式管理它们,这样可以更轻松地管理用户。

相关内容

最新更新