Bash vs Mysql

Fermé
Vincent.dabe Messages postés 3 Date d'inscription mardi 22 novembre 2016 Statut Membre Dernière intervention 22 novembre 2016 - 22 nov. 2016 à 14:27
jordane45 Messages postés 38459 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 avril 2025 - 22 nov. 2016 à 18:01
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 38459 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 avril 2025 4 740
22 nov. 2016 à 15:30
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 mardi 22 novembre 2016 Statut Membre Dernière intervention 22 novembre 2016
22 nov. 2016 à 16:36
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 38459 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 avril 2025 4 740
22 nov. 2016 à 16:43
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 mardi 22 novembre 2016 Statut Membre Dernière intervention 22 novembre 2016 > jordane45 Messages postés 38459 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 avril 2025
Modifié par Vincent.dabe le 22/11/2016 à 16:57
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 38459 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 avril 2025 4 740 > Vincent.dabe Messages postés 3 Date d'inscription mardi 22 novembre 2016 Statut Membre Dernière intervention 22 novembre 2016
22 nov. 2016 à 18:01
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