Bash vs Mysql

Vincent.dabe Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'ai ici un soucis de syntaxe qui m'échappe..
J'aimerais ajouter une colonne à ma table chaque jour.
Le nom de cette colonne est la date du jour précédent.
Celle-ci doit contenir des INTEGER.

Voici la variable et la ligne de commande qui n'est refusée pour problème de syntaxe.
Mysql a comme un problème avec cette variable, car quand je met directement 20/11/2016 cela fonctionne...

merci d'avance

pdate=`date +"%Y-%m-%d" --date '1days ago'`

mysql -u root --password=raspberry -e "ALTER TABLE log_pfe.GPS ADD COLUMN $pdate NOT NULL;"
A voir également:

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Faire un ALTER pour ajouter une colonne à une table chaque jour.... révèle un souci de conception de ta BDD.....

A quoi est sensée servir cette colonne additionnelle ?
Il est sûrement possible de revoir la structure de tes tables pour ne pas avoir à faire cela....

0
Vincent.dabe Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour jordane45,

Merci pour ta réponse.
Je vais essayer d'être le plus clair possible (je suis débutant en BBD)

Je pense surement mal, mais je pensais faire grandir ma base chaque jour d'une colonne avec les valeurs du jour.

Si je comprend bien, tu me dis que ma base doit déjà avoir toutes ses colonnes prêtes à recevoir mes infos. Donc dans mon cas éditée jusqu'au moins 2016.

Mon but final est de récupérer ces valeurs pour les afficher sur une page web sous forme de tableau mensuel.

Bàt

Vincent
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Ce que je te dit .. c'est de consevoir correctement ta BDD.
Par exemple,
il te faut une table qui contient les champs :
dates / valeurs + un champ ID qui ferait référence à ton autre table (celle pour laquelle tu veux stocker les infos....)
Dur de te dire mieux tant que tu ne nous auras pas indiqué
- La structure actuelle de ta BDD
- Ce que tu veux stocker exactement comme info dans cette "nouvelle" colonne
0
Vincent.dabe Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Je n'ai pas encore grand chose, j'ai juste une table avec deux colonnes:
- la première qui est l'ID
- la seconde qui contient les noms de mes équipements.

ce que je pensais faire était d'ajouter chaque jour une colonne avec les valeurs INT moulinées par un script Bash .

Pour voir ainsi que le PC1 a redémarré 3 fois la journée du 22 et 5 fois le 23
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Vincent.dabe Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Vu les infos de ta table...
Je pense qu'une seule table suffirait avec les champs :
ID (auto incrementé)
Equipement_name ( varchar 256) (pour stocker le nom des equipements)
Dates (au format dateTime ou Date ) pour stocker les dates
Valeurs ( ben.. pour stocker les valeurs )
0