yo,
Das händische Prüfen mit vorherigem SELECT ist so ohne weiteres nicht empfehlenswert, da zwischen Prüfung und Insert jemand anderes bereits ebenfalls etwas eingefügt haben könnte.
Hierbei würde ich mir mit Transaktionen Abhilfe verschaffen.
unnötig, die vorgeschlagenen UNIQUE constraints sind der bessere weg. schon alleine deshalb, weil du dann das sicherstellen dieser restriktion in die datenbank lagerst und nicht in ein programm.
Ilja