Maison  >  Questions et réponses  >  le corps du texte

Existe-t-il un moyen dans Mysql d'interroger une chaîne dans une autre chaîne ?

Mysql Existe-t-il un moyen d'interroger ? Par exemple, la chaîne « 3,5 » est dans la chaîne « 3,4,5,2 »

La situation est probablement la suivante

Les utilisateurs ont plusieurs attributs, et l'attribut L'ID est utilisé dans la table utilisateur Un champ est stocké

tel que user_attr, le format de stockage de la valeur est : '3,4,5,2',

Explication : Par exemple, le numéro est l'ID d'attribut

Maintenant, le le front-end doit interroger les utilisateurs qui ont plusieurs attributs en même temps

Par exemple, le front-end Le format de l'ID d'attribut transmis qui doit être interrogé est : '3,5', le format de la chaîne

Comment dois-je écrire la requête ? J'utilise thinkphp5, <<in, comme si je les avais essayés mais aucun d'entre eux ne fonctionne>> ;



ECHOECHO1776 Il y a quelques jours986

répondre à tous(5)je répondrai

  • 孤独是一种态度

    孤独是一种态度2020-03-18 09:19:54

    find_in_set() En savoir plus

    répondre
    0
  • lk

    lk2020-01-15 18:29:13

    comme la bonne réponse

    répondre
    0
  • junwind

    junwind2020-01-14 17:12:31

    Il n'est pas nécessaire d'utiliser une requête SQL ici. Convertissez le 3,5 transmis depuis le front-end en un tableau [3,5], puis 3,4,5,2 sont également convertis en un tableau. Comparez-le et vous. saura si c'est dedans ou pas

    répondre
    0
  • null

    null2020-01-03 00:31:25

    Convertissez 3 et 5 en tableaux, bouclez et épissez selon les conditions, user_attr comme '%3%' ou user_attr comme '%5%' groupé par identifiant utilisateur Peut-être que l'efficacité n'est pas si élevée, mais elle peut être obtenue

    répondre
    0
  • ECHO

    Si vous utilisez like, vous ne pouvez pas faire la différence entre 3,13 et 5,15.

    ECHO · 2020-01-04 16:00:36
  • Annulerrépondre