O problema a resolver é o fato, do usuário efetuar múltiplos "clicks" no botão salvar dados, ocorrendo vários INSERT com mesmo grupo de dados. Já se utiliza chave primaria e termo UNIQUE em algumas colunas, porém não é suficiente para impedir a duplicata de dados.
Estou procurando uma solução, no lado do servidor, ou seja, que possa ser executada pelo banco de dados MySQL. A principio a ideia é efetuar um checksum do conjunto de dados de uma linha (excetuando a chave primaria incremental) e armazenar na coluna CHECKSUM cujo atributo seja UNIQUE.
Ocorre que tenho a tabela onde para cada linha, onde pelo menos alguma coluna terá valor diferente. Ou seja, ocorre mudança de valores nos dados de cada linha, sendo assim haverá um CHECKSUM único.
Não sei se certo é utilizar TRIGGER disparado por um INSERT, com finalidade de autorizar ou bloquear a escrita dos dados. Se convém utilizar PROCEDURE.
Pois bem, essa é a ideia da solução, mas não sei como implementar. E também, penso se não existe algum comando do MYSQL que já faça essa tarefa.
Pergunta
dandrade
O problema a resolver é o fato, do usuário efetuar múltiplos "clicks" no botão salvar dados, ocorrendo vários INSERT com mesmo grupo de dados. Já se utiliza chave primaria e termo UNIQUE em algumas colunas, porém não é suficiente para impedir a duplicata de dados.
Estou procurando uma solução, no lado do servidor, ou seja, que possa ser executada pelo banco de dados MySQL. A principio a ideia é efetuar um checksum do conjunto de dados de uma linha (excetuando a chave primaria incremental) e armazenar na coluna CHECKSUM cujo atributo seja UNIQUE.
Ocorre que tenho a tabela onde para cada linha, onde pelo menos alguma coluna terá valor diferente. Ou seja, ocorre mudança de valores nos dados de cada linha, sendo assim haverá um CHECKSUM único.
Não sei se certo é utilizar TRIGGER disparado por um INSERT, com finalidade de autorizar ou bloquear a escrita dos dados. Se convém utilizar PROCEDURE.
Pois bem, essa é a ideia da solução, mas não sei como implementar. E também, penso se não existe algum comando do MYSQL que já faça essa tarefa.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.