Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Chaves compostas MySql e valores nulos


http://dev.mysql.com/doc/refman /5.0/en/create-index.html

"Um índice UNIQUE cria uma restrição de tal forma que todos os valores no índice devem ser distintos. Ocorrerá um erro se você tentar adicionar uma nova linha com um valor de chave que corresponda a uma linha existente. Essa restrição não se aplica a valores NULL, exceto para o Mecanismo de armazenamento BDB. Para outros mecanismos, um índice UNIQUE permite vários valores NULL para colunas que podem conter NULL."

Então, não, você não pode fazer com que o MySQL trate NULL como um valor único. Acho que você tem algumas opções:você pode fazer o que sugeriu em sua pergunta e armazenar um "valor especial" em vez de nulo ou pode usar o mecanismo BDB para a tabela. No entanto, não acho que essa pequena diferença no comportamento justifique uma escolha incomum de mecanismo de armazenamento.