MySQL:Restringir duas colunas para que uma delas sempre seja NULL
Em SQL, o ideal é lidar com isso com uma restrição CHECK
.
No MySQL, não existe um mecanismo direto para impor tal restrição CHECK. Se você tentar incluir um, o Manual de referência do MySQL
estados (já que faz parte do padrão):