Use MYSQL para consultar se um campo na tabela de dados contém um determinado valor função find_in_set()

Use MYSQL para consultar se um campo na tabela de dados contém um determinado valor função find_in_set()

1. Demanda

Verifique se uma pergunta é usada no teste

2. Problemas

1. Como o papel de teste projetado armazena os ids das questões do teste, não há tabela intermediária para armazenar o papel de teste e as questões do teste. 2.
Ao consultar, você precisa consultar e extrair os valores para a operação do loop, o que afeta o tempo de consulta e a experiência do usuário.
3. Encontre uma solução após pesquisar com base em palavras-chave. Você pode usar a função FIND_IN_SET() original do MySql para conseguir
isso. 4. Consulte com base no ID da pergunta se o campo na tabela do papel de teste que armazena o question ids contém este ID de pergunta.

3. Como usar:

 select * from 表名 where find_in_set('值',字段名) 

Nota: vírgula é a vírgula em inglês

4. Perguntas estendidas

Se os parâmetros de dados front-end forem usados ​​várias vezes, a quantidade de alterações aumentará, portanto, é necessário armazenamento simples ao projetar o formato de armazenamento.

1. Relacionamento um-para-muitos, duas tabelas A e B. A armazena informações de perguntas de teste, B armazena informações de papel de teste e a tabela B armazena ids de perguntas de teste para armazenamento simples.

    quest_ids : 1,2,3

2. O motivo é que os dados não podem ser consultados se a função find_in_set original do mysql estiver no seguinte formato.

 例如 quest_ids : [1,2,3] 或者 quest_ids : ['1','2','3'] 或者quest_ids :'1','2','3' 

おすすめ

転載: blog.csdn.net/qq_40660283/article/details/116025590