>>192-197
insert する前に、select して、同じ値があるかどうか確かめるのは、悪いデザインパターン

1. select
2. ここに、わずかなタイミングがあり、他者が状態を変える可能性がある。
3. insert

だから、いきなり挿入すればよい。
挿入できなかったら、エラーになるだけ。
それでも、挿入と更新の間に、わずかな隙間がある

1. insert してエラーになる。
2. ここに、わずかなタイミングがあり、他者が状態を変える可能性がある。
3. update