当前位置:首页 > PHP教程 > php应用 > 列表

php实现只保留mysql中最新1000条记录

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-28 21:34:53 浏览: 评论:0 

这篇文章主要介绍了php实现只保留mysql中最新1000条记录的方法和相关示例及数据库结构,十分的全面,有需要的小伙伴可以参考下。

  1. <?php  
  2. mysql_connect("localhost","root","root"); 
  3. mysql_select_db("test"); 
  4. //保留最新的1000条记录 
  5. $limit=1000; 
  6. $query="select `id` from `news`"
  7. $result=mysql_query($query); 
  8. $num=mysql_num_rows($result); 
  9. if($num>$limit){ 
  10. $query="select `id` from `news` order by `id` desc limit ".$limit
  11. $result=mysql_query($query); 
  12. mysql_data_seek($result,$limit-1); 
  13. $data=mysql_fetch_array($result); 
  14. $query="delete from `news` where `id`<'$data[id]'"
  15. if(mysql_query($query)){ 
  16. echo "数据库中原有".$num."条记录,多余的".($num-$limit)."条记录被成功删除,现在还剩余".$limit."条记录!"
  17. }else
  18. echo "数据记录不足".$limit."条!没有必要删除!"
  19. ?> 

test.sql

  1. -- phpMyAdmin SQL Dump 
  2. -- version 3.1.5-rc1 
  3. -- http://www.phpmyadmin.net 
  4. -- 
  5. -- 主机: localhost 
  6. -- 生成日期: 2010 年 08 月 19 日 05:47 
  7. -- 服务器版本: 5.0.18 
  8. -- PHP 版本: 5.2.8 
  9.  
  10. SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
  11.  
  12. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */
  13. /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */ 
  14.  
  15. /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */
  16. /*!40101 SET NAMES utf8 */
  17.  
  18. -- 
  19. -- 数据库: `test` 
  20. -- 
  21.  
  22. -- -------------------------------------------------------- 
  23.  
  24. -- 
  25. -- 表的结构 `news` 
  26. -- 
  27.  
  28. CREATE TABLE IF NOT EXISTS `news` ( 
  29. `id` int(11) unsigned NOT NULL auto_increment, 
  30. `title` varchar(256) NOT NULL, 
  31. PRIMARY KEY (`id`) 
  32. ) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

Tags: 保留mysql记录

分享到: