Em primeiro lugar, peço desculpas se esta é uma pergunta estúpida, desde que sejamos honestos, provavelmente é.
Estou criando uma tabela no MySQL que possui quatro campos BOOLEAN. O que eu gostaria é de ter um quinto campo BOOLEAN calculado que seja verdadeiro se e somente se todos os outros BOOLEANs forem verdadeiros. Basicamente, uma operação AND. Existe alguma boa maneira de fazer isso no MySQL? Obrigado!
Eu joguei um pouco (não uso MySQL para bancos de dados complexos), mas acho que encontrei uma solução simples - crie a quinta coluna com "calculatedcol boolean as (boolencolumn1 & boolencolumn2 & booleancolumn3 & boolencolumn4)" - fazer isso parece impede que você adicione coisas à coluna calculada, mas permite que você a consulte.
Fiz um teste rápido e criei uma tabela da seguinte forma:
As inserções precisavam estar no formulário
Uma alternativa - que permitiria manter a sintaxe "normal" para inserções na tabela, mas permitiria apenas executar consultas selecionadas com uma tabela calculada seria criar uma tabela normal e criar uma exibição. Ao fazer inserções, insira na tabela. Ao ler um local onde você precisará do valor booleano calculado, use a visualização.
Claro, para algo tão simples como uma tabela com vários booleanos, pode ser mais fácil não fazer isso no nível da tabela, mas simplesmente gerar a coluna na consulta de seleção. Por serem campos booleanos, você pode usar o operador "&" para fazer um bit a bit e muito parecido com o que fiz para criar a coluna v5 na tabela de teste acima.