Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL с меко изтриване, ограничения за уникален ключ и външни ключове

Добавяне на уникално ограничение за полета (потребителско име, изтрито) Промяна на типа поле за 'deleted' на INTEGER.

По време на операцията за изтриване (това може да се направи в тригер или в част от кода, където всъщност трябва да изтриете потребителя) копирайте стойността на полето id в изтритото поле.

Този подход ви позволява:

  • запазете уникални имена за активни потребители (изтрито =0)
  • позволява изтриване на потребители с едно и също потребителско име няколко пъти

Полето „Изтрито“ не може да има само 2 стойности, защото следният сценарий няма да работи:

  1. вие създавате потребител 'Sam'
  2. Потребителят Sam е изтрит
  3. Създавате нов потребител с потребителско име „Sam“
  4. Опитвате да изтриете потребител с потребителско име „Sam“ – неуспешно. Вече имате запис userName ='Sam' и deleted ='1'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Някой намери ли ефикасен начин за съхраняване на стойности на BSON ObjectId в SQL база данни?

  2. ИЗТРИВАНЕ на всички дублиращи се теми с няколко условия

  3. Команди не са синхронизирани; не можете да изпълните тази команда сега SQL

  4. PHP MySQL:Записване на PDF в база данни

  5. Как да актуализирате множество колони в MySQL