Comment faire la somme des lignes sur plusieurs colonnes dans plusieurs tables en SQL

Toutes les solutions que j’ai pu trouver sur le net ne marchait pas dans mon cas alors j’ai trouvé cette solution pour compter les lignes dans plusieurs tables à la fois :

SELECT COUNT(*)+(SELECT COUNT(*) FROM `table1` )+(SELECT COUNT(*) FROM `table2`)+ (SELECT COUNT(*) FROM `table3` ) as total FROM `table4`

Problème d’encodage lors de l’execution d’un programme par CRON

Lors de l’exécution d’un script par CRON, on peut avoir des problèmes d’encodage des caractères dans la sortie ( BDD, mails, fichiers… ). C’est du au fait que CRON n’utilise pas le charset défini par défaut. On peut constater ceci avec la commande locale :

root@s1000000:~# locale
LANG=en_US.UTF-8
LC_CTYPE=”en_US.UTF-8″
LC_NUMERIC=”en_US.UTF-8″
LC_TIME=”en_US.UTF-8″
LC_COLLATE=”en_US.UTF-8″
LC_MONETARY=”en_US.UTF-8″
LC_MESSAGES=”en_US.UTF-8″
LC_PAPER=”en_US.UTF-8″
LC_NAME=”en_US.UTF-8″
LC_ADDRESS=”en_US.UTF-8″
LC_TELEPHONE=”en_US.UTF-8″
LC_MEASUREMENT=”en_US.UTF-8″
LC_IDENTIFICATION=”en_US.UTF-8″
LC_ALL=

Alors qu’en exécutant locale avec CRON on obtient

LANG=
LC_CTYPE=”POSIX”
LC_NUMERIC=”POSIX”
LC_TIME=”POSIX”
LC_COLLATE=”POSIX”
LC_MONETARY=”POSIX”
LC_MESSAGES=”POSIX”
LC_PAPER=”POSIX”
LC_NAME=”POSIX”
LC_ADDRESS=”POSIX”
LC_TELEPHONE=”POSIX”
LC_MEASUREMENT=”POSIX”
LC_IDENTIFICATION=”POSIX”
LC_ALL=

Pour régler le problème il suffit de créer ou d’éditer le fichier  /etc/environment  en y ajoutant la ligne

LANG=en_US.UTF-8

sans oublier de redémarrer cron :  service cron restart
Suivre

Get every new post delivered to your Inbox.