Atribuir variáveis definidas pelo usuário com base nos resultados da consulta aprimora os recursos de manipulação do banco de dados. Este artigo explora um método para conseguir isso no MySQL sem recorrer a consultas aninhadas.
Ao contrário da crença popular, a atribuição de variável do usuário pode ser integrada diretamente nas consultas. O operador de atribuição para instruções SET é = ou :=. No entanto, := deve ser usado dentro de outras instruções, pois = é reservado para comparações.
Para ilustrar esta técnica, vamos supor que USER e GROUP sejam únicos. A sequência de consulta a seguir mostra a funcionalidade:
SET @user := 123456; SELECT @group := `group` FROM USER WHERE user = @user; SELECT * FROM USER WHERE `group` = @group;
Usando uma tabela de exemplo com os seguintes dados:
CREATE TABLE user (`user` int, `group` int); INSERT INTO user VALUES (123456, 5); INSERT INTO user VALUES (111111, 5);
A consulta produz o seguinte resultado:
-------- ------- | user | group | -------- ------- | 123456 | 5 | | 111111 | 5 | -------- -------
Como alternativa, a seguinte sintaxe pode ser empregada:
SET @user := 123456; SELECT `group` FROM user LIMIT 1 INTO @group; SELECT * FROM user WHERE `group` = @group;
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3