Chercher une adresse IP dans un champs - Forum MySQL

Chercher une adresse IP dans un champs Champ type d'une adresse IP » Forum - Réseau Separer les champs d'adresse ip » Forum - Programmation Changer adresse ip » Conseils pratiques - DHCP Changer son adresse IP facilement et rapidement » Guide Changer adresse ip » Conseils pratiques - DHCP

bonjour
je cherche un code SQL qui permet d'extraire une adresse IP dans un champ d'une table ensuite verifier si cette adresse existe dans un autre champs d'une autre table
la premiere table est serveur qui contient le champ message de type varchar ( contient une chaine et une adresse ip)
la deuxieme table est adresse qui contient un champ ip de type varchar(15) ( contient seulement des adresses ip)
je veux extraire l'adresse existante dans le champ message du table serveur sachant que je ne connais pas la position de debut et de verifier si elle existe dans le champ ip du table adresse.
merci de m'aider.

Forum

Chercher une adresse IP dans un champs Champ type d'une adresse IP » Forum - Réseau Separer les champs d'adresse ip » Forum - Programmation Changer adresse ip » Conseils pratiques - DHCP Changer son adresse IP facilement et rapidement » Guide Changer adresse ip » Conseils pratiques - DHCP

Web: www.shapebootstrap.net

3 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Bonjour,

Est-ce que tu pourrais connaître sa position par rapport à un délimiteur ? Par exemple, après la 4ème espace, ou point-virgule, ou autre... Auquel cas tu peux tenter la fonction SUBSTRING_INDEX.

Parce qu'extraire une partie d'un champ n'est pas du tout évident en MySQL.

Il serait plus facile de trouver tous les messages qui n'ont pas une IP listée dans adresse, ou tous les messages correspondant à une IP donnée...

Sinon, si les performances ne sont pas un problème, tu peux le faire "à la main" avec un langage de script comme Php, qui récupère tout, cherche l'IP, et regarde dans Adresse...

Xavier

Reply
réponses:
  • auteur

    comment alors determiner tous les messages qui contient une adresse qui n'est pas existante dans adresse c'est à dire trouver tous les messages qui n'ont pas une IP listée dans adresse, ou tous les messages correspondant à une IP donnée...

  • Reivax962

    Si ça te convient, tu peux faire :

    -> Tous les messages correspondant à une IP donnée :

    SELECT * FROM serveur WHERE message LIKE '%192.168.0.1%'


    -> Tous les messages dont l'IP n'est pas dans la table adresse
     SELECT s.* FROM serveur s LEFT OUTER JOIN adresse a ON s.message LIKE CONCAT('%', a.ip, '%') WHERE a.ip IS NULL 


    Xavier

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed