Caminho seguro SQL para execução dupla

Aprendi isso com um amigo e colega de trabalho. Se você tem um script sql que requer a inserção de linhas em uma tabela e essas linhas não podem ser duplicadas, mesmo que a tabela tenha colunas únicas nas colunas corretas, há um truque que você pode usar para evitar erros sql se o script é executado várias vezes.

insert into a_table values (uuid(), 'a', 'b', 'c', now());

Se você executou esse sql várias vezes, ele pode inserir a linha várias vezes ou lançar um erro se houver um conjunto exclusivo de linhas na tabela. Para evitar que o SQL lance um erro ou insira a linha várias vezes, você pode usar o seguinte truque:

insert into a_table
select uuid(), 'a', 'b', 'c', now() from (select 1) as `tmp` where 0 = (select count(id) from a_table where a_column = 'a');

Se a contagem da condição for 1 ou superior, a inserção falhará, evitando uma inserção dupla.

Será uma inserção muito mais lenta (tenha isso em mente para inserções grandes), mas é um pouco mais segura.