sql >> Databasteknik >  >> RDS >> Mysql

Bästa metoder för mjuk borttagning (PHP/MySQL)

Det är så jag gör. Jag har en is_deleted fält som är standard till 0. Sedan kontrollerar frågorna bara WHERE is_deleted = 0 .

Jag försöker hålla mig borta från hårda borttagningar så mycket som möjligt. De är nödvändiga ibland, men jag gör det till en funktion som endast är administratör. På så sätt kan vi hårdradera, men användare kan inte...

Redigera: Faktum är att du kan använda detta för att ha flera "lager" av mjukradering i din app. Så var och en kan vara en kod:

  • 0 -> Ej borttagen
  • 1 -> Soft Deleted, visas i listor över raderade objekt för hanteringsanvändare
  • 2 -> Soft Deleted, visas inte för någon användare förutom adminanvändare
  • 3 -> Visas endast för utvecklare.

Att ha de andra 2 nivåerna gör det fortfarande möjligt för chefer och administratörer att rensa bort de raderade listorna om de blir för långa. Och eftersom front-end-koden bara letar efter is_deleted = 0 , det är genomskinligt för frontend...



  1. SQLite Group By

  2. MySQL:Kan inte skapa/skriva till filen '/tmp/#sql_3c6_0.MYI' (felkod:2) - Vad betyder det ens?

  3. MySql väljer standardvärde om det inte finns några resultat?

  4. SQL Server Inloggningsfel:Inloggning misslyckades för användaren 'NT AUTHORITY\SYSTEM'