[RESOLU] Automatiser un update en sql

Eléphanteau du PHP | 49 Messages

24 févr. 2016, 01:05

Bonjour,

je voudrais savoir comment automatiser un update en sql a une date précise chaque année.

En fait j'ai une table pour stocker des adresses mail, je voudrais les distinguer en 2 catégories mais qu'au 01 septembre de chaque année, ceux de la deuxième catégorie bascule en première catégorie.

Et si j'INSERT une adresse qui existe déjà dans la table, elle rebascule en deuxième catégorie.

Je pense donc ajouter une colonne catégorie à ma table qui serait vide (NULL) pour la première catégorie ou "Adhérent" pour la deuxième.

J'espère être assez clair.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

24 févr. 2016, 03:17

Bonjour,

MySQL a une fonctionnalité appelé MySQL events qui permet justement de faire ce type d'opération (si ton serveur le permet) sans avoir besoin d'un script externe.
+ d'infos ici :
http://www.sitepoint.com/how-to-create-mysql-events/
http://dev.mysql.com/doc/refman/5.5/en/ ... event.html
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 49 Messages

25 févr. 2016, 01:07

Code : Tout sélectionner

UPDATE adressemail SET categorie ='NULL'
j'ai donc créé l'évènement sur phpMyAdmin mais le code ne se déclenche pas.
L'état du planificateur d'évènement est désactivé et je ne peux pas l'activer.

j'ai ce message:
Erreur
Requête SQL:
SET GLOBAL event_scheduler = "ON"
MySQL a répondu: Documentation
#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation

et je ne sais pas oû régler ça

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

25 févr. 2016, 10:31

Si tu es bien admin sur ton serveur MySQL (en gros si tu es sur un serveur mutualisé, tu peux oublier), voici ce qu'il faut faire pour te donner les droits :
Dans phpmyadmin > Utilisateurs > Changer les privilèges (de ton utilisateur) > Dans la boite Administration, cocher SUPER > Ok
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 49 Messages

26 févr. 2016, 03:24

Je n'ai apparemment pas accès à cette fonction, alors y a-t-il moyen d'arriver à la même chose via un script php?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

26 févr. 2016, 09:40

Vois avec ton hébergeur si tu peux mettre en place des cron jobs (càd des taches planifiées) qui pourrait te permettre d'exécuter un script PHP à une date précise
Quand tout le reste a échoué, lisez le mode d'emploi...