On Tuesday 19 April 2005 17:08, John Nichel wrote: > Petar Nedyalkov wrote: > <snip> > > > You can store only 10 records for each user by using the following logic: > > > > mysql> show create table profile_log\G > > *************************** 1. row *************************** > > Table: profile_log > > Create Table: CREATE TABLE `profile_log` ( > > `profile_id` int(10) default NULL, > > `user_id` int(10) default NULL, > > `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update > > CURRENT_TIMESTAMP > > ) ENGINE=MyISAM DEFAULT CHARSET=utf8 > > 1 row in set (0.00 sec) > > > > When you create a profile you fill 10 blank records with timestamp > > 0000-00-00 00:00:00. > > > > Then if a user sees a profile: > > > > PSEUDO SQL: > > > > $SQL = "UPDATE profile_log SET user_id=".$userId." WHERE profile_id=". > > $profileId." ORDER BY timestamp ASC LIMIT 1"; > > > > This way you: > > 1. automatically get the new timestamp > > 2. have no more than 10 records per user. > > What version of MySQL does that work in? I tried pasting that create > table directly into MySQL and get an error... MySQL 4.1.8 > > #1064 - You have an error in your SQL syntax. Check the manual that > corresponds to your MySQL server version for the right syntax to use > near 'CURRENT_TIMESTAMP on update > CURRENT_TIMESTAMP > ) ENGINE=MyISA > > Query used : > > CREATE TABLE `profile_log` ( > `profile_id` int( 10 ) default NULL , > `user_id` int( 10 ) default NULL , > `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP ON UPDATE > CURRENT_TIMESTAMP > ) ENGINE = MYISAM DEFAULT CHARSET = utf8 > > I can't find a reference to this on MySQL's site...would you have a link > to the documentation? Thanks. > > -- > John C. Nichel > ÜberGeek > KegWorks.com > 716.856.9675 > john@xxxxxxxxxxxx -- Cyberly yours, Petar Nedyalkov Devoted Orbitel Fan :-) PGP ID: 7AE45436 PGP Public Key: http://bu.orbitel.bg/pgp/bu.asc PGP Fingerprint: 7923 8D52 B145 02E8 6F63 8BDA 2D3F 7C0B 7AE4 5436
Attachment:
pgpW1PRFxw1Nj.pgp
Description: PGP signature