|
Posted by Jerry Stuckle on 05/23/07 10:49
Phil Latio wrote:
> I am inserting data into user table which contains 5 fields, sounds simple
> enough normally but 2 of the fields are designated as UNIQUE. If someone
> does enter a value which already exists, how do I capture this specific
> error?
>
> Would it make more sense to actually run a SELECT query first and if that
> returned a result, then I use that for error checking and don't run insert
> until select returns nothing?
>
> Cheers
>
> Phil
>
>
>
>
>
Phil,
Look at the error code returned by the database.
Most databases return an error code and an error message. The error
message is great for humans; the error code better for computers, and
should be unique (IIRC, this one is 1062 for MySQL).
Don't do a select first. It's unnecessary overhead and not guaranteed
unless you lock the tables first (more overhead). For instance, you
might search for "john" and not find it - but before you can add "john",
another process adds it. Now when you try, you get a duplicate, even
though you checked first.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
Navigation:
[Reply to this message]
|