Đó là tùy thuộc vào bạn và thường là câu hỏi về mức độ quan trọng của dữ liệu bạn đang xóa hoặc mức độ chịu đựng của bạn với các tai nạn.
Phương pháp tôi thích sử dụng là có một cơ sở dữ liệu sao chép cho các mục bạn muốn xóa. Khi xóa, sao chép nội dung của hàng đã chọn vào cơ sở dữ liệu mới, sau đó xóa. Việc có thêm các bài báo hoặc mục "đã xóa" trong hệ thống của bạn chỉ sử dụng thêm dung lượng và cuối cùng sẽ làm chậm các truy vấn (có thể xảy ra).
Sau khi bạn điền vào cơ sở dữ liệu "xóa bài viết" của mình, hãy chạy kết xuất, lưu trữ, cắt bớt.
Giả sử bạn có CMS cơ sở dữ liệu với một bảng có tên là ARTICLES mà bạn muốn lưu trữ các bài đăng đã xóa, chúng tôi sẽ tạo một cơ sở dữ liệu giống hệt với cùng một cấu trúc bảng:
CREATE DATABASE `deleted`;
CREATE TABLE deleted.cmsarticles LIKE CMS.ARTICLES;
Trong tập lệnh PHP của bạn, việc xóa nội dung bạn sẽ làm như sau:
//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']}");
}
}