Maison > base de données > tutoriel mysql > Comment effectuer une recherche par mot clé sur plusieurs tables dans MySQL et identifier la table d'origine ?

Comment effectuer une recherche par mot clé sur plusieurs tables dans MySQL et identifier la table d'origine ?

Linda Hamilton
Libérer: 2024-11-23 12:32:16
original
942 Les gens l'ont consulté

How to Perform a Keyword Search Across Multiple Tables in MySQL and Identify the Table of Origin?

Recherche de tables multiples dans MySQL à l'aide d'un mot clé

Question :

Dans une base de données avec trois tables (messages, sujets et commentaires), chacune contenant des champs « contenu » et « titre », comment pouvons-nous effectuer une recherche LIKE dans toutes les tables en utilisant un mot clé ? Comment distinguer la table d'origine de chaque résultat ?

Solution :

Pour rechercher plusieurs tables à l'aide d'un mot-clé en PHP et MySQL, nous pouvons utiliser une requête UNION :

$query = "(SELECT content, title, 'msg' as type FROM messages WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%') 
UNION
(SELECT content, title, 'topic' as type FROM topics WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%') 
UNION
(SELECT content, title, 'comment' as type FROM comments WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%')";

mysql_query($query);
Copier après la connexion

Cette requête rassemble les résultats de chaque table en une seule sortie. Le champ 'type' ajouté à chaque ligne sert d'identifiant pour la table dont elle provient. Après avoir exécuté cette requête, nous pouvons parcourir les résultats et déterminer la table d'origine en fonction de la valeur « type ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal