<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://kono.phpage.fr/index.php?action=history&amp;feed=atom&amp;title=GLPI%2FSQL</id>
	<title>GLPI/SQL - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://kono.phpage.fr/index.php?action=history&amp;feed=atom&amp;title=GLPI%2FSQL"/>
	<link rel="alternate" type="text/html" href="https://kono.phpage.fr/index.php?title=GLPI/SQL&amp;action=history"/>
	<updated>2026-10-18T20:09:41Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://kono.phpage.fr/index.php?title=GLPI/SQL&amp;diff=4860&amp;oldid=prev</id>
		<title>Fylip22 : Page créée avec « {{Sommaire}}  Il est possible d&#039;intervenir directement sur les données de GLPI pour des actions en masse, telles que des mises à jours ou des purges de données.  Attention, ce type d&#039;opération peut endommager la base de données. S&#039;assurer de l&#039;action a effectuer.  Il s&#039;agit d&#039;exécuter une commande SQL depuis l&#039;outil d&#039;administration PhpMyAdmin ou HeidiSQL.  == Ordinateur et adresse IP et adresse MAC == Pour obtenir l&#039;adresse IP et l&#039;adresse MAC des... »</title>
		<link rel="alternate" type="text/html" href="https://kono.phpage.fr/index.php?title=GLPI/SQL&amp;diff=4860&amp;oldid=prev"/>
		<updated>2024-08-21T09:52:28Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « {{Sommaire}}  Il est possible d&amp;#039;intervenir directement sur les données de GLPI pour des actions en masse, telles que des mises à jours ou des purges de données.  Attention, ce type d&amp;#039;opération peut endommager la base de données. S&amp;#039;assurer de l&amp;#039;action a effectuer.  Il s&amp;#039;agit d&amp;#039;exécuter une commande SQL depuis l&amp;#039;outil d&amp;#039;administration &lt;a href=&quot;https://kono.phpage.fr/index.php?title=PhpMyAdmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;PhpMyAdmin (page inexistante)&quot;&gt;PhpMyAdmin&lt;/a&gt; ou &lt;a href=&quot;/index.php/HeidiSQL&quot; title=&quot;HeidiSQL&quot;&gt;HeidiSQL&lt;/a&gt;.  == Ordinateur et adresse IP et adresse MAC == Pour obtenir l&amp;#039;adresse IP et l&amp;#039;adresse MAC des... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Sommaire}}&lt;br /&gt;
&lt;br /&gt;
Il est possible d&amp;#039;intervenir directement sur les données de GLPI pour des actions en masse, telles que des mises à jours ou des purges de données.&lt;br /&gt;
&lt;br /&gt;
Attention, ce type d&amp;#039;opération peut endommager la base de données. S&amp;#039;assurer de l&amp;#039;action a effectuer.&lt;br /&gt;
&lt;br /&gt;
Il s&amp;#039;agit d&amp;#039;exécuter une commande SQL depuis l&amp;#039;outil d&amp;#039;administration [[PhpMyAdmin]] ou [[HeidiSQL]].&lt;br /&gt;
&lt;br /&gt;
== Ordinateur et adresse IP et adresse MAC ==&lt;br /&gt;
Pour obtenir l&amp;#039;adresse IP et l&amp;#039;adresse MAC des ordinateurs ; avec suppression des doublons avec l&amp;#039;option &amp;#039;&amp;#039;GROUP BY&amp;#039;&amp;#039; :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT&lt;br /&gt;
   c.name, ip.name, np.name, np.mac&lt;br /&gt;
FROM&lt;br /&gt;
   glpi_computers AS c,&lt;br /&gt;
   glpi_networkports AS np,&lt;br /&gt;
   glpi_networknames AS nn,&lt;br /&gt;
   glpi_ipaddresses AS ip&lt;br /&gt;
WHERE	&lt;br /&gt;
       np.itemtype = &amp;#039;Computer&amp;#039;&lt;br /&gt;
   AND np.items_id = c.id&lt;br /&gt;
   AND nn.itemtype = &amp;#039;NetworkPort&amp;#039;&lt;br /&gt;
   AND nn.items_id = np.id&lt;br /&gt;
   AND ip.itemtype = &amp;#039;NetworkName&amp;#039;&lt;br /&gt;
   AND ip.items_id = nn.id&lt;br /&gt;
   AND c.is_template = 0&lt;br /&gt;
   AND c.is_deleted = 0&lt;br /&gt;
GROUP BY&lt;br /&gt;
   np.mac;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ticket ==&lt;br /&gt;
Sélection du ticket numéro 3000 :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT * FROM `glpi_tickets` where id=3000;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Les status d&amp;#039;un ticket&lt;br /&gt;
|-&lt;br /&gt;
! Libellé du statut   !! Code du statut&lt;br /&gt;
|-&lt;br /&gt;
| Nouveau             || 1&lt;br /&gt;
|-&lt;br /&gt;
| En cours (attribué) || 2&lt;br /&gt;
|-&lt;br /&gt;
| En cours (planifié) || 3&lt;br /&gt;
|-&lt;br /&gt;
| En attente          || 4&lt;br /&gt;
|-&lt;br /&gt;
| Résolu              || 5&lt;br /&gt;
|-&lt;br /&gt;
| Clos                || 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tâche ==&lt;br /&gt;
Liste des tâches d&amp;#039;un ticket en particulier (ici ticket numéro 5951) :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT * FROM glpi.glpi_tickettasks where tickets_id=5951;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Les status d&amp;#039;une tâche&lt;br /&gt;
|-&lt;br /&gt;
! Libellé du statut   !! Code du statut&lt;br /&gt;
|-&lt;br /&gt;
| Information         || 0&lt;br /&gt;
|-&lt;br /&gt;
| À faire             || 1&lt;br /&gt;
|-&lt;br /&gt;
| Fait                || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Suppression de l&amp;#039;historique ==&lt;br /&gt;
Chaque action sur une fiche (ordinateur, imprimante, ticket...) est historisé.&lt;br /&gt;
&lt;br /&gt;
Commande à lancer pour supprimer les historiques créés par l&amp;#039;utilisateur &amp;#039;&amp;#039;Plugin_FusionInventory&amp;#039;&amp;#039; et correspondant à l&amp;#039;ordinateur numéro 309 :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
DELETE FROM glpi.glpi_logs WHERE (itemtype=&amp;#039;Computer&amp;#039; AND items_id=309 AND user_name=&amp;#039;Plugin_FusionInventory (255)&amp;#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autoincrémentation, initialisation ==&lt;br /&gt;
Pour initialiser l&amp;#039;indice de la clé primaire (id) à 3000.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
ALTER TABLE glpi_phones AUTO_INCREMENT=3000;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Champs supplémentaires ==&lt;br /&gt;
Mise à jour en masse ; modification de la valeur des champs à la valeur &amp;quot;x&amp;quot; :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE glpi.glpi_plugin_fields_computerinfosuppcs &lt;br /&gt;
SET glpi.glpi_plugin_fields_computerinfosuppcs.bitlockeridentificateurfield = &amp;quot;x&amp;quot;, &lt;br /&gt;
glpi.glpi_plugin_fields_computerinfosuppcs.bitlockerclefderecuperationfield = &amp;quot;x&amp;quot;, &lt;br /&gt;
glpi.glpi_plugin_fields_computerinfosuppcs.teamvieweridentifiantfield = &amp;quot;x&amp;quot;, &lt;br /&gt;
glpi.glpi_plugin_fields_computerinfosuppcs.teamviewermotdepassefield = &amp;quot;x&amp;quot;&lt;br /&gt;
where itemtype=&amp;quot;computer&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MySQL, script ==&lt;br /&gt;
Exemples de script de sauvegarde :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;mysql&amp;quot;&amp;gt;&lt;br /&gt;
mysqldump --databases --add-drop-database --opt -u root -pMDP glpi &amp;gt; glpi-20190214-1412.sql&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;mysql&amp;quot;&amp;gt;&lt;br /&gt;
mysqldump --databases --add-drop-database --opt -u root -p glpi0905  &amp;gt;glpi0905-$(date +&amp;quot;%Y%m%d&amp;quot;).sql&lt;br /&gt;
gzip glpi0905-$(date +&amp;quot;%Y%m%d&amp;quot;).sql&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Journal ==&lt;br /&gt;
Sélection des éléments du journal en fonction du numéro de ticket :&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
SELECT *&lt;br /&gt;
FROM glpi_logs&lt;br /&gt;
WHERE itemtype = &amp;quot;Ticket&amp;quot; and items_id=1234;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Les types d&amp;#039;action (linked_action)&lt;br /&gt;
|-&lt;br /&gt;
! Code de l&amp;#039;action !! Signification&lt;br /&gt;
|-&lt;br /&gt;
| 0                || Changement (statut, acteur...)&lt;br /&gt;
|-&lt;br /&gt;
| 13               || Suppression de l&amp;#039;élément&lt;br /&gt;
|-&lt;br /&gt;
| 15               || Ajout d&amp;#039;un acteur ou d&amp;#039;un élément lié (ordinateur...)&lt;br /&gt;
|-&lt;br /&gt;
| 16               || Ajout d&amp;#039;un lien acteur&lt;br /&gt;
|-&lt;br /&gt;
| 17               || Ajout d&amp;#039;une tâche ou d&amp;#039;un suivi&lt;br /&gt;
|-&lt;br /&gt;
| 18               || Modification d&amp;#039;une tâche ou d&amp;#039;un suivi&lt;br /&gt;
|-&lt;br /&gt;
| 20               || Délai de prise en compte&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Gestion ==&lt;br /&gt;
Liste des informations de gestion financière pour les éléments de parc de type ordinateur (&amp;#039;&amp;#039;Computer&amp;#039;&amp;#039;) :&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
SELECT *&lt;br /&gt;
FROM glpi.glpi_infocoms&lt;br /&gt;
WHERE itemtype = &amp;quot;Computer&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Migration de données ==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
SELECT id, NAME, entities_id, auths_id, is_active&lt;br /&gt;
FROM glpi_users&lt;br /&gt;
WHERE is_active=1&lt;br /&gt;
ORDER BY entities_id, name;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optimisation du contenu des tickets (ticket, tâche, suivi, solution) ==&lt;br /&gt;
Lors de la rédaction des sauts de ligne superflu apparaissent.&lt;br /&gt;
&lt;br /&gt;
Le script suivant supprimer les sauts de lignes inutiles pour un numéro de ticket en particulier :&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
/* suppression des paragraphes vides */&lt;br /&gt;
SET @TicketNumero = 1234;&lt;br /&gt;
SET @TexteARechercher = &amp;quot;&amp;amp;lt;p&amp;amp;gt;.&amp;amp;lt;/p&amp;amp;gt;&amp;quot;;&lt;br /&gt;
SET @TexteARechercherRegex = CONCAT( &amp;quot;(&amp;quot;, @TexteARechercher, &amp;quot;)&amp;quot; ) ;&lt;br /&gt;
&lt;br /&gt;
/* ticket, description, suppression des paragraphes vides */&lt;br /&gt;
UPDATE glpi_tickets &lt;br /&gt;
SET content = REGEXP_REPLACE(content, @TexteARechercherRegex, &amp;#039;&amp;#039;)&lt;br /&gt;
WHERE id = @TicketNumero;&lt;br /&gt;
&lt;br /&gt;
/* ticket, tâche, suppression des paragraphes vides */&lt;br /&gt;
UPDATE glpi_tickettasks&lt;br /&gt;
SET content = REGEXP_REPLACE(content, @TexteARechercherRegex, &amp;#039;&amp;#039;)&lt;br /&gt;
WHERE tickets_id = @TicketNumero;&lt;br /&gt;
 &lt;br /&gt;
/* ticket, suivi, suppression des paragraphes vides */&lt;br /&gt;
UPDATE glpi_itilfollowups &lt;br /&gt;
SET content = REGEXP_REPLACE(content, @TexteARechercherRegex, &amp;#039;&amp;#039;)&lt;br /&gt;
WHERE items_id = @TicketNumero;&lt;br /&gt;
&lt;br /&gt;
/* ticket, solution, suppression des paragraphes vides */&lt;br /&gt;
UPDATE glpi_itilsolutions&lt;br /&gt;
SET content = REGEXP_REPLACE(content, @TexteARechercherRegex, &amp;#039;&amp;#039;)&lt;br /&gt;
WHERE items_id = @TicketNumero;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le script suivant remplace une chaine de caractère par une autre sur tous les tickets qui remplissent la condition :&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
# pour le remplacement d&amp;#039;une chaine de caractère par une autre&lt;br /&gt;
# SET @TexteATrouver = &amp;#039;phpnet1/konoinfo/&amp;#039;;&lt;br /&gt;
# SET @TexteDeRemplacement = &amp;#039;phpweb1/konoinfo/&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
# pour optimiser le contenu des tickets ; ici en supprimant les paragraphes vides&lt;br /&gt;
SET @TexteATrouver = &amp;#039;(&amp;amp;lt;p&amp;amp;gt;.&amp;amp;lt;/p&amp;amp;gt;)&amp;#039;;&lt;br /&gt;
SET @TexteDeRemplacement = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
/* ticket, description, suppression des paragraphes vides */&lt;br /&gt;
UPDATE glpi_tickets &lt;br /&gt;
SET content = REGEXP_REPLACE(content, @TexteATrouver, @TexteDeRemplacement)&lt;br /&gt;
WHERE id IN ( SELECT id WHERE content REGEXP @TexteATrouver );&lt;br /&gt;
&lt;br /&gt;
/* ticket, tâche, suppression des paragraphes vides */&lt;br /&gt;
UPDATE glpi_tickettasks&lt;br /&gt;
SET content = REGEXP_REPLACE(content, @TexteATrouver, @TexteDeRemplacement)&lt;br /&gt;
WHERE tickets_id IN ( SELECT id WHERE content REGEXP @TexteATrouver	);&lt;br /&gt;
 &lt;br /&gt;
/* ticket, suivi, suppression des paragraphes vides */&lt;br /&gt;
UPDATE glpi_itilfollowups &lt;br /&gt;
SET content = REGEXP_REPLACE(content, @TexteATrouver, @TexteDeRemplacement)&lt;br /&gt;
WHERE items_id IN ( SELECT id WHERE content REGEXP @TexteATrouver );&lt;br /&gt;
&lt;br /&gt;
/* ticket, solution, suppression des paragraphes vides */&lt;br /&gt;
UPDATE glpi_itilsolutions&lt;br /&gt;
SET content = REGEXP_REPLACE(content, @TexteATrouver, @TexteDeRemplacement)&lt;br /&gt;
WHERE items_id IN ( SELECT id WHERE content REGEXP @TexteATrouver );&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Voir aussi ==&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
[[Catégorie:GLPI]]&lt;br /&gt;
[[catégorie:Lien ODBC]]&lt;br /&gt;
[[Catégorie:Requête SQL]]&lt;/div&gt;</summary>
		<author><name>Fylip22</name></author>
	</entry>
</feed>