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'