Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Praktik terbaik penghapusan lunak (PHP/MySQL)

Begitulah cara saya melakukannya. Saya memiliki is_deleted bidang yang default ke 0. Kemudian kueri cukup centang WHERE is_deleted = 0 .

Saya mencoba untuk menjauh dari hard-deletes sebanyak mungkin. Kadang-kadang diperlukan, tetapi saya menjadikannya sebagai fitur khusus admin. Dengan begitu kami dapat menghapus secara paksa, tetapi pengguna tidak dapat...

Sunting: Bahkan, Anda bisa menggunakan ini untuk memiliki beberapa "lapisan" penghapusan lunak di aplikasi Anda. Jadi masing-masing bisa menjadi kode:

  • 0 -> Tidak Dihapus
  • 1 -> Dihapus Lunak, muncul dalam daftar item yang dihapus untuk pengguna manajemen
  • 2 -> Soft Dihapus, tidak muncul untuk pengguna mana pun kecuali pengguna admin
  • 3 -> Hanya muncul untuk pengembang.

Memiliki 2 level lainnya akan tetap memungkinkan manajer dan admin untuk membersihkan daftar yang dihapus jika terlalu panjang. Dan karena kode front-end hanya memeriksa is_deleted = 0 , transparan ke frontend...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql> buat tes basis data; GALAT 1006 (HY000):Tidak dapat membuat 'tes' basis data (errno:2)

  2. Mysqli UPDATE SET WHERE kesalahan sintaksis

  3. Kunci yang ditentukan terlalu panjang; panjang kunci maksimal adalah 1000 byte

  4. Tampilkan data berdasarkan id yang dipilih pada jendela popup modal setelah mengklik tombol php mysql

  5. Kesalahan fatal:Kelas 'Swift_smtpTransport' tidak ditemukan di