MYSQL 更新 integer/bit 数据类型字段中唯一的第 x 个数字
MYSQL update the only x'th number in integer/bit datatype field
我创建了 9 列,每列包含一个 0 或 1 整数。它们的存在是为了让用户可以打开和关闭某些东西。我想摆脱这 9 列,而是只使用一列,我可以在其中保留 9 个 0 和 1 来表示我的用户将切换的 9 个内容。所以说我有 000000000 并且我的用户决定切换第一个功能,table accounts
和列 toggletimers
的更新查询看起来如何将值更改为 100000000 等等对于 9 个数字?
- 您通常应该不在数据库设计中将多个字段合并为一个(违反"1NF")
- 如果您确实想要,请使用 bitwise operations:
update accounts set toggletimers = toggletimers | (1 << (9-1)) where ...
我创建了 9 列,每列包含一个 0 或 1 整数。它们的存在是为了让用户可以打开和关闭某些东西。我想摆脱这 9 列,而是只使用一列,我可以在其中保留 9 个 0 和 1 来表示我的用户将切换的 9 个内容。所以说我有 000000000 并且我的用户决定切换第一个功能,table accounts
和列 toggletimers
的更新查询看起来如何将值更改为 100000000 等等对于 9 个数字?
- 您通常应该不在数据库设计中将多个字段合并为一个(违反"1NF")
- 如果您确实想要,请使用 bitwise operations:
update accounts set toggletimers = toggletimers | (1 << (9-1)) where ...