MySQL,一列中的多位操作
我有一个名为MySQL,一列中的多位操作,mysql,bit-manipulation,bit,Mysql,Bit Manipulation,Bit,我有一个名为设置的列(类型:tinyint unsigned not null) 包含以位(0/1)为单位的用户设置的 例如,当我想要更新设置_1时,我会: UPDATE `users` SET `settings`=`settings`|1 (将设置1设置为1(真)) 但是,我怎样才能多更新一列呢? 例如: UPDATE `users` SET `settings`=`settings`|1, `settings`=`settings`&~2, `settings`=`sett
设置的列(类型:tinyint unsigned not null)
包含以位(0/1)为单位的用户设置的
例如,当我想要更新设置_1时,我会:
UPDATE `users` SET `settings`=`settings`|1
(将设置1设置为1(真))
但是,我怎样才能多更新一列呢?
例如:
UPDATE `users`
SET
`settings`=`settings`|1,
`settings`=`settings`&~2,
`settings`=`settings`|4
WHERE `user`='xyz';
任何解释它的链接?您可以一起执行所有操作,例如:
update user
set settings = settings|1&~2|4;
也可以使用括号来限制范围。以下是相同的示例。您可以同时执行所有操作,例如:
update user
set settings = settings|1&~2|4;
也可以使用括号来限制范围。这是同样的