それはあなた次第であり、通常、削除するデータがどれほど重要であるか、または事故に対してどれだけ寛容になりたいかという問題です。
私が使用したい方法は、削除したいアイテムのクローンデータベースを用意することです。削除時に、選択した行の内容を新しいデータベースにコピーしてから削除します。システムに余分な「削除された」記事やアイテムがあると、スペースを使い果たしてしまい、最終的にはクエリの速度が低下する可能性があります。
「記事の削除」データベースがいっぱいになったら、ダンプ、アーカイブ、切り捨てを実行します。
削除された投稿を保存するARTICLESというテーブルを持つデータベースCMSがあるとすると、同じテーブル構造を持つ同一のデータベースを作成します。
CREATE DATABASE `deleted`;
CREATE TABLE deleted.cmsarticles LIKE CMS.ARTICLES;
コンテンツを削除するPHPスクリプトでは、次のようにします。
//GRAB THE ID OF THE ARTICLE YOU ARE DELETING, MAKE SURE TO SANITIZE!
$article_id=$_POST['id'];
if(is_numeric($article_id) {
$dbconnect=databaseFunction();
$result=$dbconnect->query("SELECT `row1`,`row2` FROM `ARTICLES` WHERE `id`=$article_id");
if($result->num_rows!=0) {
$row=$result->fetch_array(MYSQLI_ASSOC);
//Open new connection to deleted database
$dbconnect2=otherDBFunction();
$dbconnect2->query("INSERT INTO `cmsarticles`(row1,row2) VALUES ({$row['row1']},{$row['row2']}");
$dbconnect->query("DELETE FROM `ARTICLES` where `id`={$_POST['id']}");
}
}