Fare una select e poi una insert e' una soluzione, ma non e' adatta ad ambienti concorrenti.
Dovresti vedere se riesci a creare un campo sul quale puoi mettere un indice UNIQUE; dopodiche', fai la insert e se c'e' un errore sull'indice la query fallisce e l'inserimento salta.