[thelist] Free Tip about SQL

Seb Potter seb at poked.org
Fri Jul 18 12:41:27 CDT 2003


> If you simply want the highest id number then yes. But if you want the
> id of a record you just inserted you'll have to use the WHERE clause.
>
> It's possible that before you turn around and ask the database that
> question (your query above) another record has already been added.
>
> I usually do something like:
>
> SELECT id
> FROM users
> WHERE username = 'chris'
> 	AND coolfactor = 'infinite'
> 	AND babemagnet = 'yes';
>
> (we are assuming that) chris, infinite, and yes all came from
> information that was passed to a form on a website.

Actually, this isn't guaranteed to work at all, simply because you're 
assuming that your record is unique. In a talbe with a large number of 
fields, you really don't want to be doing a where clause on every field. 
(Sure as hell on on large text or binary fields, performance will drop like 
shares in Enron.)

Stick to whatever mechanism your DB provides. It might not be as 100% 
portable, but it is guaranteed to work every time, which all of these other 
methods are not.

- seb


-- 
http://poked.org


More information about the thelist mailing list