sql >> Database >  >> RDS >> Mysql

Moet forumsoftware onderwerpen/berichten letterlijk VERWIJDEREN na moderatie of gewoon verbergen?

Dat is aan jou en meestal een kwestie van hoe belangrijk de gegevens zijn die je verwijdert, of hoe tolerant je wilt zijn met ongelukken.

De methode die ik graag gebruik, is om een ​​kloondatabase te hebben voor items die u wilt verwijderen. Kopieer bij verwijderen de inhoud van de geselecteerde rij naar de nieuwe database en verwijder vervolgens. Het hebben van extra "verwijderde" artikelen of items in uw systeem neemt alleen maar meer ruimte in beslag en zal uiteindelijk zoekopdrachten (mogelijk) vertragen.

Zodra u uw database met "artikelen verwijderen" hebt gevuld, voert u een dump, archivering en inkorting uit.

Laten we zeggen dat je de database CMS hebt met een tabel genaamd ARTICLES waarin je verwijderde berichten wilt opslaan, we zullen een identieke database maken met dezelfde tabelstructuur:

CREATE DATABASE `deleted`;
CREATE TABLE deleted.cmsarticles LIKE CMS.ARTICLES;

In je PHP-script dat de inhoud verwijdert, zou je zoiets als dit doen:

//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. JDBC:haal het type array uit de metadata

  2. Hyphen vs Dash:Vervang Dash door Hyphen

  3. Android-apps verbinden met mysql-database

  4. Waar slaat mysql gegevens op?