Bonjour,
j'ai un peu galéré pour récupérer ma table (https://www.developpez.net/forums/d2...before-import/) mais c'est bon. Par contre, comme je n'ai récupéré qu'une version de quelques jours, je dois faire une mise à jour supplémentaire, qui consiste à créer une clé étrangère. De la table courante :
vers la table user :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 DROP TABLE IF EXISTS `license`; CREATE TABLE `license` ( `id_SESA` int(6) NOT NULL, `application_key` smallint(2) NOT NULL, `currently_active` tinyint(1) DEFAULT NULL, `activate_date` date DEFAULT NULL, `deactivate_date` date DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; ALTER TABLE `license` ADD PRIMARY KEY (`id_SESA`,`application_key`) USING BTREE; ALTER TABLE `license` ADD CONSTRAINT `fk_application` FOREIGN KEY (`application_key`) REFERENCES `application` (`application_key`); COMMIT;
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `user_key` smallint(6) NOT NULL, `sesa` int(6) DEFAULT NULL, `lastname` varchar(255) COLLATE utf8_bin DEFAULT NULL, `firstname` varchar(255) COLLATE utf8_bin DEFAULT NULL, `email` varchar(255) COLLATE utf8_bin DEFAULT NULL, `id_company` tinyint(2) DEFAULT NULL, `buunitname_key` tinyint(2) DEFAULT NULL, `location_key` tinyint(2) DEFAULT NULL, `manager_key` tinyint(2) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; ALTER TABLE `user` ADD PRIMARY KEY (`user_key`), ADD UNIQUE KEY `uk_user` (`sesa`);
Voici la requête SQL : ALTER TABLE `license` ADD CONSTRAINT `fk_user` FOREIGN KEY (`id_SESA`) REFERENCES `user`(`sesa`) ON DELETE RESTRICT ON UPDATE RESTRICT; et la réponse :Comment faire pour que ça marche ?#1452 - Cannot add or update a child row: a foreign key constraint fails (`ticket`.`#sql-408_213`, CONSTRAINT `fk_user` FOREIGN KEY (`id_SESA`) REFERENCES `user` (`sesa`))
Partager