On 20-Oct-2001 Mike E wrote:
> That seems to follow how I've been doing it as well.
>
> For example, consider this database set up:
>
> Table: news
> Fields:
> newsid int(10)
> userid int(10)
> dateposted datetime
> subject varchar(255)
> content text
>
> Table: users
> Fields:
> userid int(10)
> name varchar(60)
>
> and on and on. I'd love to hear from some hard-core developers. Guys who
> have been doing database development professionally for years.
>
> Mike
My preference is for the table where the id is the primary key is called 'id';
and references to it are {ref}id.
In your example above:
Table: news
id int(10)
userid int(10)
dateposted datetime
subject varchar(255)
content text
Table: user
id int(10)
name varchar(60)
$qry="SELECT dateposted,subject from news as n, user as u
WHERE u.id=n.userid GROUP BY u.id";
This also simplifies generic Perl routines like:
sub ClearOrphan { # un-tested cut-n-paste code
my $pri = shift;
my $sec = shift;
my $ref = shift;
$qry="SELECT $pri.id FROM $pri LEFT JOIN $sec
ON ($pri.$ref = $sec.id) WHERE $sec.id IS NULL";
my @ids=GetArray($qry);
while ( my(@id)= splice (@ids,0,64)) {
$qry="DELETE FROM $pri WHERE id IN (" .join(',',@id) .")";
SQLQuery($qry);
}
}
ClearOrphan('news', 'user', 'userid');
will delete any news articles that don't have a valid user ...
---
I also try to avoid plural table names:
users -> user
hosts -> host
urls -> url
host.id reads much cleaner than hosts.id (to my eye).
Agree with the thread on no upper-case/mixed-case names.
Regards,
--
Don Read [EMAIL PROTECTED]
-- It's always darkest before the dawn. So if you are going to
steal the neighbor's newspaper, that's the time to do it.
(53kr33t w0rdz: sql table query)
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php