この記事では、mysql に最新の 1000 レコードのみを保持するための PHP 実装の方法と関連する例、およびデータベース構造を主に紹介します。参考のため。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
mysql_connect("localhost","root","root"); mysql_select_db("テスト"); //最新の 1000 件のレコードを保持します $制限=1000; $query="「ニュース」から「ID」を選択"; $result=mysql_query($query); $num=mysql_num_rows($result); if($num>$limit){ $query="「ニュース」から「ID」を選択、「ID」の順に並べる 説明制限 ".$limit; $result=mysql_query($query); mysql_data_seek($result,$limit-1); $data=mysql_fetch_array($result); $query="`id`<'$data[id]' の `ニュース` から削除します"; if(mysql_query($query)){ echo "データベース内の元の ".$num." レコード、余分な ".($num-$limit)." レコードは正常に削除され、現在はまだ ".$limit." レコードが残っています!"; } }その他{ echo "データ レコードが不十分です".$limit."! 削除する必要はありません!"; } ?> |
test.sql
--phpMyAdmin SQL ダンプ
-- バージョン 3.1.5-rc1
-- http://www.phpmyadmin.net
--
--ホスト: localhost
--生成日:2010年8月19日05時47分
-- サーバーバージョン: 5.0.18
-- PHPバージョン:5.2.8
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 セット名 utf8 */;
--
-- データベース: `test`
--
----------------------------------------------- - ----------
--
-- テーブル構造「ニュース」
--
?
1 2 3 4 5 |
存在しない場合はテーブルを作成 `ニュース` ( `id` int(11) unsigned NOT NULL auto_increment, `title` varchar(256) NOT NULL, 主キー (`id`) ) ENGINE=InnoDB デフォルトの文字セット=gb2312; |
以上がこの記事の全内容ですが、皆さんに気に入っていただければ幸いです。