Tu dois utiliser la méthode unsigned() sur ta clé étrangère :
Et elle ne doit pas forcément être unique. En règle générale pas du tout même.
Bonjour,
Voila je rencontre un petit problème avec mon code.
Je veux utiliser un champ "key" dans ma base de données comme clé étrangère mais lorsque je lance la commande
je reçois un message d'erreur
voila une partie de mon code :
ma table users
ma table role
et mon fichier add_foreign_key
je ne comprend pas d'où vient mon problème, ma BDD est bien en InnoDB.
merci d'avance pour votre aide
Tu dois utiliser la méthode unsigned() sur ta clé étrangère :
Et elle ne doit pas forcément être unique. En règle générale pas du tout même.
je viens de m'apercevoir que je n'avait pas mis le bon morceau de code.
j'ai bien unsigned() mais pas index().. c'est important ?
table users
non c'est bon c'est tout ce que tu as à faire ;)
Alors je ne comprends pas pourquoi j'obtiens cette erreur..
En revanche, si je met 'id' en clé étrangère, ça fonctionne très bien.
Ha pardon, c'est normale, une clé étrangère fait référence à un identifiant unique
meme si j'ai défini 'key' comme unique, ça ne fonctionnera pas ?
Parce que clé est défini comme unique mais pas comme uné cle primaire
Merci pour ton aide, je vais revoir ma logique afin de contourner mon problème.