-1

示例:我有一个表名 Quest 和一个名为 FLAGS 的列

FLAGS = 1 =>TEXT = CHARM
FLAGS = 2 =>TEXT = DISORIENTED
FLAGS = 4 =>TEXT = DISARM
FLags = 536870912 =>TEXT = Saped

ETC...

我想做一个这样的 SQL 查询。

    Update quest set RESULTinText = 'TOTALFLAGSINTEXT' WHERE FLAGS = TOTALFLAGS in flag column;

如果 flags =1,则结果将是 - RESULTinText 列中的 CHARM。

但是如果是 FLAGS 1 + Flags 2 (3) 结果将在 RESULTinText 列中变得迷人和迷失方向。

4

1 回答 1

0

如果您只有少数几个值,那么听起来 MySQLset类型就是您要寻找的。它完全符合您的要求,以位表示有效地存储值,然后允许您将它们作为字符串检索。

这在文档中得到了最好的描述。

集合有限制,例如最多只能支持 64 个元素。就我个人而言,我通常会避免使用它们,因为正确的“基于集合”的方法是有一个单独的表,其中包含每个值和一个匹配表。然而,对于一个快速而肮脏的应用程序来说,它可能是正确的。

于 2013-02-22T14:27:51.343 回答