To je na vás a obvykle jde o to, jak důležitá jsou data, která mažete, nebo jak tolerantní chcete být k nehodám.
Metoda, kterou rád používám, je mít databázi klonů pro položky, které chcete odstranit. Při odstranění zkopírujte obsah vybraného řádku do nové databáze a poté odstraňte. Mít další „smazané“ články nebo položky ve vašem systému jen zabírá více místa a nakonec (potenciálně) zpomalí dotazy.
Jakmile naplníte svou databázi „smazat články“, spusťte výpis, archivujte, zkraťte.
Řekněme, že máte databázový CMS s tabulkou ČLÁNKY, do které chcete ukládat smazané příspěvky, vytvoříme identickou databázi se stejnou strukturou tabulky:
CREATE DATABASE `deleted`;
CREATE TABLE deleted.cmsarticles LIKE CMS.ARTICLES;
Ve vašem PHP skriptu, který odstraňuje obsah, byste udělali něco takového:
//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']}");
}
}