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
<?php
#####!!!#####
-
DROP TABLE IF EXISTS `erreurs`;
CREATE TABLE `erreurs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`dateModif` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`erreur` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;
-
DROP TRIGGER IF EXISTS `unicite_appartenance_groupe`;
-
DELIMITER |
CREATE TRIGGER `unicite_appartenance_groupe`
BEFORE INSERT ON `ressources_groupes_etudiants`
FOR EACH ROW BEGIN
IF EXISTS (
SELECT *
FROM ressources_groupes_etudiants
WHERE ressources_groupes_etudiants.deleted = 0 AND ressources_groupes_etudiants.codeGroupe = NEW.codeGroupe AND ressources_groupes_etudiants.codeEtudiant = NEW.codeEtudiant
)
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à.'));
END IF;
END |
DELIMITER ;
-
-
-
DROP TRIGGER IF EXISTS `dates_seances`;
-
DELIMITER |
CREATE TRIGGER `dates_seances`
BEFORE INSERT
ON `seances`
FOR EACH ROW BEGIN
IF EXISTS (
SELECT *
FROM `seances`
WHERE NEW.dateSeance = '0000-00-00'
)
THEN INSERT INTO erreurs (erreur) VALUES ( CONCAT( 'Erreur [', CONVERT(NEW.codeProprietaire,CHAR), ']: tentative d utilisation de la date 0000-00-00 dans une seance.'));
END IF;
END|
DELIMITER ;
-
-
DROP TRIGGER IF EXISTS `dates_reservations`;
-
DELIMITER |
CREATE TRIGGER `dates_reservations`
BEFORE INSERT
ON `reservations`
FOR EACH ROW BEGIN
IF EXISTS (
SELECT *
FROM `seances`
WHERE NEW.dateReservation = '0000-00-00'
)
THEN INSERT INTO erreurs (erreur) VALUES ( CONCAT( 'Erreur [', CONVERT(NEW.codeProprietaire,CHAR), ']: tentative d utilisation de la date 0000-00-00 dans une reservation.'));
END IF;
END|
DELIMITER ;
-
-
#####!!!#####
?>