J'ai une base de données appelée "to_do_list". Je souhaite que les utilisateurs puissent se connecter et créer des tâches. J'ai deux tables dans « to_do_list »:Comment connecter la table "user" à la table "tasks"
tasks:
task_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY
task VARCHAR(255) NOT NULL
importance VARCHAR(255) NOT NULL
due_date DATE NOT NULL
user:
user_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY
username VARCHAR(255) NOT NULL UNIQUE
email VARCHAR(255) NOT NULL
password VARCHAR (255) NOT NULL
active TINYINT(1) NOT NULL
Comment puis-je connecter ces deux tables de sorte qu'un utilisateur peut se connecter et créer des tâches? Je sais que je dois créer une clé étrangère, mais chaque fois que je le fais, je ne peux ni me connecter ni créer de tâches. Une fois que j'ai enlevé la clé étrangère, tout fonctionne à nouveau.
J'ai ajouté une ligne user_id à la table des tâches et j'ai essayé de la marquer comme la clé étrangère, mais j'obtiens cette erreur: Erreur 1452: Impossible d'ajouter ou de mettre à jour une ligne enfant. – Julian
Je vois. Je pense que ça se passe parce qu'il y a des enregistrements de tâches qui n'ont pas d'identifiant d'utilisateur. Donc, je pense que vous devrez ajouter le champ user_id (que vous avez fait), puis mettre à jour les enregistrements de tâches pour définir une valeur user_id, puis ajouter la clé étrangère. Alternativement, vous pouvez supprimer tous vos enregistrements dans la table des tâches - pas sûr si ce sera une bonne idée pour vous. – bbrumm