Tenho duas colunas booleanas na minha tabela. Uma chamada IsUnlisted e uma chamada IsPrivate. Só quero permitir que IsPrivate seja 1 (TRUE) se IsUnlisted for 1 (TRUE) também usando uma restrição de verificação. Estou usando MariaDB que compartilha a maioria das coisas com mysql.
relate perguntas
-
Erro de cabeçalho do MariaDB
-
Erro 1046 Mariadb: nenhum banco de dados selecionado
-
Você ainda usa o MyISAM ou prefere o mecanismo de armazenamento Aria?
-
Como posso melhorar minha instrução SQL com resultados semanais com semana começando na quinta-feira ou em qualquer outro dia da semana?
-
Quando é o momento certo para usar o MariaDB em vez do MySQL e por quê?
violino
A linha é inserida se a expressão de restrição CHECK for TRUE ou NULL.
Se
IsUnlisted <> TRUE
for TRUE ou NULL (ou seja, IsUnlisted for NULL ou FALSE), então a expressão CHECK será TRUE ou NULL, respectivamente, e a linha será válida.Se
IsUnlisted <> TRUE
for FALSE (ou seja, IsUnlisted é TRUE), entãoIsPrivate <=> TRUE
é verificado. É TRUE somente quando IsPrivate é TRUE, e é FALSE se IsPrivate é NULL ou FALSE.A inserção de linhas que não correspondem à restrição CHECK produz avisos.
Os booleanos fornecem 4 estados; o acima fornece apenas 3.