如何创建自动递增ID autoincrement上第二列(BitField)的表?
ID: 0 -> BitField: 2^0 = 1
ID: 1 -> BitField: 2^1 = 2
ID: 2 -> BitField: 2^2 = 4
ID: 3 -> BitField: 2^3 = 8
ID: 4 -> BitField: 2^4 = 16
ID: 5 -> BitField: 2^5 = 32
ID: 6 -> BitField: 2^6 = 64
//etc
对于作为位掩码的用户表字段(按照“权限”一行考虑)。所以一个次要的问题是:你认为有一对多的选项和多对多的表授予每个用户是更好的实现吗(甚至不知道如何将所有的信息格式化成一行以便使用位掩码)?
最佳答案
CREATE TABLE [dbo].[Test](
[Id] [int] NOT NULL,
[BitField] AS (power((2),[id]))
) ON [PRIMARY]
GO
-- Testing
INSERT INTO Test(Id) VALUES(2)
INSERT INTO Test(Id) VALUES(6)
INSERT INTO Test(Id) VALUES(8)
SELECT * FROM Test
Id BitField
2 4
6 64
8 256
关于mysql - mysql bitmask ID字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18970765/