我想通过选择然后使用Define添加来进行更新

时间:2013-02-22 13:23:10

标签: mysql sql

实施例: 我有一个表名Quest,并有一个名为FLAGS的列

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

等...

我想做这样的SQL查询。

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

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

但如果是FLAGS 1 + Flags 2(3)结果将在RESULTinText列中为CHARM和Disoriented。

1 个答案:

答案 0 :(得分:0)

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

最好在documentation中说明。

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