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

MySQL com Restrições de Exclusão Suave, Chave Única e Chave Estrangeira


Adicionar restrição exclusiva em campos (nome de usuário, excluído) Altere o tipo de campo de 'excluído' para INTEGER.

Durante a operação de exclusão (isso pode ser feito no gatilho ou em parte do código onde você realmente precisa excluir o usuário) copie o valor do campo id para o campo excluído.

Essa abordagem permite que você:
  • manter nomes exclusivos para usuários ativos (excluído =0)
  • permitir excluir usuários com o mesmo nome de usuário várias vezes

O campo 'Excluído' não pode ter apenas 2 valores porque o seguinte cenário não funcionará:
  1. você cria o usuário 'Sam'
  2. O usuário Sam foi excluído
  3. Você cria um novo usuário com userName 'Sam'
  4. Você tenta excluir usuário com userName 'Sam' - falha. Você já tem o registro userName ='Sam' e delete ='1'