Mise à jour avec une condition sur une vue
Bonjour tout le monde,
bon voila, j'ai un petit soucis !
je suis entrain de créer un forum php mysql (sous phpmyadmin) et j'arrive au problème lié à la déconnexion automatique des membres, lorsque ceux-ci partent sans appuyer sur le bouton "déconnecter"
j'ai trouvé une solution !j'ai mis un champs date dans ma table réservée aux membres, dans la base de données, celle-ci contient la date de la dernière activité de l'utilisateur ( remis à jour automatiquement par une méthode Ajax, et ca marche ! ^^)
jusque là, tout va bien !
ensuite, j'ai créé une vue contenant tous ceux qui n'ont pas donné signe de vie depuis plus de 5 minutes, mais qui n'ont pas appuyé sur le bouton de déconnexion (les méchants !! ^^)
>>
Code:
1 2 3 4 5 6 7 8 9
|
CREATE VIEW VIEW_DECO_MB(ref_mb_forum)
AS
(
SELECT ref_mb_forum
FROM membre_forum
WHERE statut_connexion = 1
AND date_activite >= date_sub(CURRENT_DATE(), INTERVAL 5 MINUTE)
) |
la vue fonctionne très bien, pas de doute là dessus ! elle affiche bien tous les utilisateurs concernés !
Ensuite, j'ai créé un trigger, et là plus rien ne fonctionne >_<
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
CREATE TRIGGER Trigger_DECO_MB
ON VIEW_DECO_MB
INSTEAD OF INSERT
AS
BEGIN
UPDATE membre_forum
SET statut_connexion = 0
WHERE ref_mb_forum IN
(
SELECT ref_mb_forum
FROM VIEW_DECO_MB
)
END |
L'erreur que phpmyadmin me donne est :
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ON VIEW_DECO_MB INSTEAD OF INSERT AS BEGIN UPDATE membre_forum SET statut' at line 2
Il faut absolument que je passe par un trigger !
bon, si c'est pas possible, j'essairai quand même autre chose, mais ce serait dommage car ce script est assez simple.
Auriez-vous une solution qui pourrait m'aider ?
j'attend vos réponses avec impatiente ^^
merci d'avance ! ;)