Jump to content

Archived

This topic is now archived and is closed to further replies.

Leesy

Limiting A Table Size

Recommended Posts

Hi all,

 

I tried to search for an answer to this but the worls "limit", "table", "size" etc. come up a lot :)

 

I'm creating a shoutbox for my site. I've got a simple table where I store the shouts (contains 4 fields: ID, Name, Shout & Date. ID auto increments). I want to ensure that this table sticks to a certain size (say 25 rows). Obviously I want the least recent shouts to be deleted.

 

What's the best way to do this? A trigger; limiting the table to a set amount of rows and it'll hopefully remove the oldest rows to make room (couldn't see anything to do this in phpMyAdmin. SQL knowledge doesn't go past the basics); or simply deleting a row everytime I insert a new one past the count of 25?

Share this post


Link to post
Share on other sites

After inserting a new row, get the id of the new row

 

$newid = mysql_insert_id();
$keep = $newid - 25;

 

then

 

mysql_query ("DELETE from shoutTable WHERE id < '$keep' ");

Share this post


Link to post
Share on other sites

Cheers.

 

That'll work as I am using a table with auto_increment ID's. Als o Isee that the new version of MySQL has triggers implemented (or so the picture on their website was showing). So when/if my host starts to use the new MySQL, I can always try a trigger later on.

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.