我不确定如何在主题中更好地描述我的问题...
我有一个看起来像这样的表:
$sql = "CREATE TABLE games (
id INT(5) AUTO_INCREMENT PRIMARY KEY,
name VARCHAR (255),
player_1_id INT (3),
player_1_status BOOLEAN,
player_2_id INT (3),
player_2_status BOOLEAN,
player_3_id INT (3),
player_3_status BOOLEAN
)"
我需要一个类似的查询:
$stmt = $this->connection->prepare("
SELECT id, name, turn
FROM games
WHERE player_1_id = :value1
OR player_2_id = :value1
OR player_3_id = :value1
");
但另外,我想选择列“player_x_status”,具体取决于找到的“player_x_id”等于:value1。 我真的不知道如何更好地描述我的问题,这里缺乏条款。
有人可以建议吗?
答案 0 :(得分:5)
每次创建名为something_N
的字段时,您都可以确定您做错了。
你需要做的是另一张表来存储所有具有状态的玩家,比如
您可以毫无问题地为任何玩家选择状态。
这就是关系数据库的工作方式。