sql >> Databáze >  >> RDS >> Mysql

MySQL s omezením Soft-Deletion, Unique Key a Foreign Key

Přidejte jedinečné omezení pro pole (uživatelské jméno, odstraněno) Změňte typ pole pro 'smazané' na INTEGER.

Během operace mazání (lze to provést ve spouštěči nebo v části kódu, kde skutečně potřebujete odstranit uživatele) zkopírujte hodnotu pole id do odstraněného pole.

Tento přístup vám umožní:

  • zachovat jedinečná jména pro aktivní uživatele (smazáno =0)
  • povolit smazat uživatele se stejným uživatelským jménem několikrát

Pole 'Deleted' nemůže mít pouze 2 hodnoty, protože následující scénář nebude fungovat:

  1. vytvoříte uživatele 'Sam'
  2. Uživatel Sam je smazán
  3. Vytvoříte nového uživatele s uživatelským jménem 'Sam'
  4. Pokusíte se smazat uživatele s uživatelským jménem 'Sam' – neúspěšně. Již máte záznam userName ='Sam' a smazaný ='1'


  1. Generátory dat pro SQL server?

  2. Nelze načíst soubor nebo sestavení 'MySql.Data, verze=6.3.6.0

  3. Implementace nastavení více datových center pro PostgreSQL – část první

  4. Jaké jsou hlavní rozdíly ve výkonu mezi datovými typy SQL Server varchar a nvarchar?