यह आप पर निर्भर है और आमतौर पर यह सवाल है कि आप जो डेटा हटा रहे हैं वह कितना महत्वपूर्ण है, या आप दुर्घटनाओं के प्रति कितना सहनशील होना चाहते हैं।
जिस विधि का मैं उपयोग करना चाहता हूं वह उन वस्तुओं के लिए क्लोन डेटाबेस है जिन्हें आप हटाना चाहते हैं। हटाए जाने पर, चयनित पंक्ति की सामग्री को नए डेटाबेस में कॉपी करें, फिर हटाएं। आपके सिस्टम में अतिरिक्त "हटाए गए" लेख या आइटम होने से बस अधिक स्थान का उपयोग हो रहा है और अंततः प्रश्नों को धीमा कर देगा (संभावित रूप से)।
एक बार जब आप अपना "लेख हटाएं" डेटाबेस भर लेते हैं, तो एक डंप चलाएं, संग्रह करें, छोटा करें।
मान लें कि आपके पास 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']}");
}
}