|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 146 ![]() |
Bonjour à tous,
J'ai créé la plupart de mes tables avec une colonne deleted_at car je ne souhaite pas vraiment supprimer les données de la base, mais les marquer comme supprimées. Il me semble que c'est une pratique assez courante. Mais il arrive qu'une table ait un index UNIQUE. Et le problème, c'est que MySQL continue d'indexer les enregistrements marqués comme supprimés. Et donc, ça bloque si j'essaie d'enregistrer un nouveau record qui a un index identique à un autre, même s'il est marqué supprimé. J'espère être suffisamment clair : je voudrais que la vérification d'unicité ne se fasse pas sur les enregistrements marqués comme supprimés. Est-ce possible ? Merci d'avance |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
bonjour,
non. |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 146 ![]() |
ok merci, suppression définitive obligée alors...
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
j'irai pas jusque là.
En fait, cet index unique est-ce une primary key ? (ou c'est une clef fonctionnel peut-être ?) Bref, pourquoi avez-vous besoin de réutiliser un identifiant deleter à cet endroit ? |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 146 ![]() |
en fait il s'agit d'indexer des ressources (documents, livres, etc). Et on m'a demandé qu'il n'y ait pas deux fois le même titre.
Non ce n'est pas une clé primaire, juste un index unique sur un champ 'titre'. Mais le problème c'est que mysql bloque, même lorsque l'enregistrement 'comparé' est marqué deleted. |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
Oui là y a pas 36 solutions.
Peut-être en l'archivant dans une autre table si vous voullez absolument le garder ? |
|
|
00
|
|
|
#7 | ||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Techniquement tu peux créer la contrainte d'unicité sur le couple (titre,deleted_at) avec une fausse date pour les titres en cours mais fonctionnellement je ne sais pas si c'est acceptable pour ton cas.
Code :
|
||
|
|
10
|
|
|
#8 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 146 ![]() |
Merci pour vos réponse. Au vue de ce que vous me dites, je crois que je vais gérer tout cela en amont au niveau logiciel.
Encore merci. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com