#417: Amélioration de la compatibilité avec Mysql 5
---------------------+------------------------------------------------------
Reporter: JMD | Owner: MoYo
Type: bug | Status: closed
Priority: normal | Milestone: 0.65
Component: Général | Version: 0.60
Severity: major | Resolution: fixed
Keywords: | Cd:
---------------------+------------------------------------------------------
Changes (by moyo):
* cd: =>
* type: => bug
* summary: Am�oration de la compatibilit�vec Mysql 5 => Amélioration de
la compatibilité avec Mysql 5
Old description:
> {{{
> J'ouvre une tache pour cela car il y a pas mal de retours à ce sujet :
>
>
> ADDITIONAL INFORMATION:
> Bug issu forum : Ayant essayé d'activer les informations commerciales sur
> des ordinateurs et des périphériques reçus ces derniers temps
> (imprimantes, écran etc..), chose que j'avais déjà faite avec une version
> précédente de GLPI (probablement la 0.5), j'ai été confronté à un
> problème : lorsque je clique sur l'activation des informations
> commerciales (http://192.168.1.1/glpi/infocoms/infoco …
> mp;add=add), la page se recharge, mais sans les activer, et sans message
> d'erreur.
> Après quelques investigations, je pense avoir trouvé d'où vient l'erreur.
>
> La requête SQL qui est envoyée à MySql est la suivante :
>
> INSERT INTO glpi_infocoms (device_type,FK_device) VALUES ('3','12')
>
> Cette requête est refusée par mon serveur MySql en version 5.0.16 qui me
> renvoie l'erreur "Field 'comments' doesn't have a default value".
> Et, en effet, le champ 'comments' ne peut pas être à NULL, et du fait de
> son type TEXT, ne peut pas avoir de valeur par défaut comme les VARCHAR.
>
> Plusieurs solutions possibles :
> - la plus simple est de faire en sorte que 'comments' puisse être à NULL,
> ce qui me semble le plus logique vu que ce n'est qu'un champ de
> commentaire; les contraintes NOT NULL étant en général pour les clés
> étrangères ou autre champs importants.
> - rajouter dans la requête le champ 'comments' avec la valeur ' '
> - changer le type du champ, en mettant VARCHAR au lieu de TEXT
>
> J'ai essayé avec GLPI la première et la dernière solution avec succès sur
> mon poste personnel.
> Il est à noter, que j'obtiens l'erreur sur mon serveur de production, et
> également sur ma machine de développement personnelle.
>
> Serveur :
> Windows 2003 Server
> IIS 6
> PHP 5.0.5
> MySql 5.0.15
> GLPI 0.6+Patch 1
>
> Ordinateur personnel :
> Windows XP Pro
> Apache 2.0.55
> PHP 5.1.1
> MySql 5.0.16
> GLPI 0.6 et la dernière version de développement
>
> Comme j'ai eu le même souci pour les prêts de nouveaux matériels que j'ai
> reçus, je présume que c'est le même problème qu'avec l'activation des
> informations commerciales.
>
> Si vous souhaitez d'autres détails, je reste à votre disposition.
> }}}
New description:
{{{
J'ouvre une tache pour cela car il y a pas mal de retours à ce sujet :
ADDITIONAL INFORMATION:
Bug issu forum : Ayant essayé d'activer les informations commerciales sur
des ordinateurs et des périphériques reçus ces derniers temps
(imprimantes, écran etc..), chose que j'avais déjà faite avec une version
précédente de GLPI (probablement la 0.5), j'ai été confronté à un problème
: lorsque je clique sur l'activation des informations commerciales
(http://192.168.1.1/glpi/infocoms/infoco … mp;add=add), la page se
recharge, mais sans les activer, et sans message d'erreur.
Après quelques investigations, je pense avoir trouvé d'où vient l'erreur.
La requête SQL qui est envoyée à MySql est la suivante :
INSERT INTO glpi_infocoms (device_type,FK_device) VALUES ('3','12')
Cette requête est refusée par mon serveur MySql en version 5.0.16 qui me
renvoie l'erreur "Field 'comments' doesn't have a default value".
Et, en effet, le champ 'comments' ne peut pas être à NULL, et du fait de
son type TEXT, ne peut pas avoir de valeur par défaut comme les VARCHAR.
Plusieurs solutions possibles :
- la plus simple est de faire en sorte que 'comments' puisse être à NULL,
ce qui me semble le plus logique vu que ce n'est qu'un champ de
commentaire; les contraintes NOT NULL étant en général pour les clés
étrangères ou autre champs importants.
- rajouter dans la requête le champ 'comments' avec la valeur ' '
- changer le type du champ, en mettant VARCHAR au lieu de TEXT
J'ai essayé avec GLPI la première et la dernière solution avec succès sur
mon poste personnel.
Il est à noter, que j'obtiens l'erreur sur mon serveur de production, et
également sur ma machine de développement personnelle.
Serveur :
Windows 2003 Server
IIS 6
PHP 5.0.5
MySql 5.0.15
GLPI 0.6+Patch 1
Ordinateur personnel :
Windows XP Pro
Apache 2.0.55
PHP 5.1.1
MySql 5.0.16
GLPI 0.6 et la dernière version de développement
Comme j'ai eu le même souci pour les prêts de nouveaux matériels que j'ai
reçus, je présume que c'est le même problème qu'avec l'activation des
informations commerciales.
Si vous souhaitez d'autres détails, je reste à votre disposition.
}}}
--
Ticket URL: <https://dev.indepnet.net:8080/glpi/ticket/417#comment:5>
GLPI <https://dev.indepnet.net:8080/glpi/>
Gestion Libre de Parc Informatique_______________________________________________
Glpi-bugtrack mailing list
[email protected]
https://mail.gna.org/listinfo/glpi-bugtrack