Re: Doublon dans la table ress

Bonjour Sylvain,
Pourrais-tu nous mettre le code dans un format différent car les smileys perturbent le code (je suppose de manière automatique).
Merci d'avance,


Après quelques recherches, j'ai trouvé comment remplacer les smileys mais aussi jouer avec les DELIMITER dans MySQL (pour que mon serveur de BdD accepte les TRIGGERS de Sylvain).

Voici le code, si cela peut servir :



Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php  
  2. #####!!!#####
  3.  
  4. DROP TABLE IF EXISTS `erreurs`;
  5. CREATE TABLE `erreurs` (
  6.   `id` int(11) NOT NULL AUTO_INCREMENT,
  7.   `dateModif` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  8.   `erreur` varchar(255) NOT NULL DEFAULT '',
  9.   PRIMARY KEY (`id`)
  10. ) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;
  11.  
  12. DROP TRIGGER IF EXISTS `unicite_appartenance_groupe`;
  13.  
  14. DELIMITER |
  15. CREATE TRIGGER `unicite_appartenance_groupe`
  16. BEFORE INSERT ON `ressources_groupes_etudiants`
  17. FOR EACH ROW BEGIN
  18. IF EXISTS (
  19.     SELECT * 
  20.     FROM ressources_groupes_etudiants
  21.     WHERE ressources_groupes_etudiants.deleted = 0 AND ressources_groupes_etudiants.codeGroupe = NEW.codeGroupe AND  ressources_groupes_etudiants.codeEtudiant = NEW.codeEtudiant
  22.     )
  23. THEN INSERT INTO erreurs (erreur) VALUES ( CONCAT('Erreur [',CONVERT(NEW.codeProprietaire,CHAR),']: tentative d ajout de l etudiant ',CONVERT(NEW.codeEtudiant,CHAR),' dans le groupe ',CONVERT(NEW.codeGroupe,CHAR),'). Ce lien existe déjà.'));
  24. END IF;
  25. END |
  26. DELIMITER ;
  27.  
  28.  
  29.  
  30. DROP TRIGGER IF EXISTS `dates_seances`;
  31.  
  32. DELIMITER |
  33. CREATE TRIGGER `dates_seances`
  34. BEFORE INSERT
  35. ON `seances`
  36. FOR EACH ROW BEGIN
  37. IF EXISTS (
  38.     SELECT * 
  39.     FROM `seances`
  40.     WHERE NEW.dateSeance = '0000-00-00'
  41.     )
  42. THEN INSERT INTO erreurs (erreur) VALUES ( CONCAT( 'Erreur [', CONVERT(NEW.codeProprietaire,CHAR), ']: tentative d utilisation de la date 0000-00-00 dans une seance.'));
  43. END IF;
  44. END|
  45. DELIMITER ;
  46.  
  47.  
  48. DROP TRIGGER IF EXISTS `dates_reservations`;
  49.  
  50. DELIMITER |
  51. CREATE TRIGGER `dates_reservations`
  52. BEFORE INSERT
  53. ON `reservations`
  54. FOR EACH ROW BEGIN
  55. IF EXISTS (
  56.     SELECT * 
  57.     FROM `seances`
  58.     WHERE NEW.dateReservation = '0000-00-00'
  59.     )
  60. THEN INSERT INTO erreurs (erreur) VALUES ( CONCAT( 'Erreur [', CONVERT(NEW.codeProprietaire,CHAR), ']: tentative d utilisation de la date 0000-00-00 dans une reservation.'));
  61. END IF;
  62. END|
  63. DELIMITER ;
  64.  
  65.  
  66. #####!!!#####
  67. ?>


Sujet écrit par fperciot le samedi 2 octobre 2021 à 18:02

[ Imprimer ] - [ Fermer la fenêtre ]