Pour modifier une contrainte de clé étrangère dans MariaDB, vous devrez d’abord supprimer la contrainte existante, puis la rajouter avec les modifications. Voici comment le faire :
Préparation: Supposons que vous ayez une table utilisateurs (`users`) avec une colonne (`department_id`) qui est une clé étrangère liée à une autre table (`departments`).
1. Supprimer la clé étrangère existante :
```
ALTER TABLE users
DROP FOREIGN KEY department_id;
```
Sachez que `department_id` est le nom de la clé étrangère de la table `users`, pas nécessairement le nom de la colonne.
1. Ajouter une nouvelle contrainte :
```
ALTER TABLE users
ADD CONSTRAINT FOREIGN KEY (department_id)
REFERENCES departments(id)
ON DELETE CASCADE
ON UPDATE CASCADE;
```
Cette instruction crée une contrainte de clé étrangère sur la colonne `department_id` qui référence la colonne `id` de la table `departments`. Les options `ON DELETE CASCADE` et `ON UPDATE CASCADE` signifient que si un département est supprimé ou si son `id` est modifié, toutes les lignes correspondantes dans la table `users` seront également supprimées ou mises à jour.
Remarque : Assurez-vous de remplacer `department_id`, `users`, `departments` et `id` par vos propres noms de clés étrangères, noms de table et noms de colonne.
Assurez-vous également que vous avez des privilèges suffisants pour modifier les tables, sinon vous recevrez une erreur.