Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Phần mềm diễn đàn có nên XÓA các chủ đề / bài đăng theo nghĩa đen khi được kiểm duyệt hay chỉ đơn giản là ẩn?

Đó 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']}");
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để kết hợp ngày và giờ từ các cột MySQL khác nhau để so sánh với DateTime đầy đủ?

  2. PDO các tham số vị trí và được đặt tên như một phần của cùng một truy vấn đã chuẩn bị?

  3. Chọn n hàng cho mỗi nhóm trong mysql

  4. Bảng MySQL với id chính AUTO_INCREMENT không giải phóng số sau khi khôi phục

  5. Trang web Joomla của tôi gặp sự cố với mã SQL lỗi này