Bom dia! Tentei realizar o exercício e, mesmo com a resposta, não funcionou. Já tentei fazer o que o Moderador Jonilson Sousa disse ao Flávio Souto Menezes, porém não funcionou? O que devo fazer? Agradeço desde já.
Bom dia! Tentei realizar o exercício e, mesmo com a resposta, não funcionou. Já tentei fazer o que o Moderador Jonilson Sousa disse ao Flávio Souto Menezes, porém não funcionou? O que devo fazer? Agradeço desde já.
Olá João Pedro, tudo bem? Você poderia colocar o erro completo que foi mostrado pelo MySQL, e poderia também indicar qual o tópico foi viu essa solução (pode colocar o link aqui) para que eu possa tentar indicar outra solução?!
Fico aguardando retorno!
ERRO: 08:26:05 SELECT CONCAT('O cliente ', TC.NOME, ' faturou ', CAST(SUM(INF.QUANTIDADE * INF.PRECO)AS CHAR(20)), 'no ano de ', CAST(YEAR(NF.DATA_VENDA) AS CHAR(20))) AS SENTENCA FROM NOTAS_FISCAIS NF INNER JOIN ITENS_NOTAS_FISCAIS INF ON NF.NUMERO = INF.NUMERO INNER JOIN TABELA_DE_CLIENTES TC ON NF.CPF = TC.CPF WHERE YEAR(DATA_VENDA) = 2016 GROUP BY TC.NOME, YEAR(DATA_VENDA) LIMIT 0, 5000 Error Code: 1055. Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'SUCOS_VENDAS.NF.DATA_VENDA' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 0,210 sec
TÓPICO: https://cursos.alura.com.br/forum/topico-exercicio-aula-05-listando-expressao-natural-95958
Você realizou os passos de parar o serviço do MySQL e ir na pasta que contém o arquivo my.ini e verificar se a linha com sql-mode=
está presente e colocar como valor dessa variável:
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
E só depois iniciar o serviço novamente?
Isso no computador mesmo? No lugar onde o mysql está instalado? Ou o Workbench?
Sim João, no computador mesmo, primeiro você deve pesquisar por "serviços" no menu iniciar e depois encontrar o serviço do MySQL que tem o nome MySQL80
e então parar esse serviço e fazer a alteração que mencionei acima (colocar a linha sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
no arquivo my.ini) e depois iniciar o serviço novamente.
E fala o resultado pra gente!
Ahh o meu é linux, eu acho mais complicadinha essa parte.
Na verdade é um pouco diferente sim, primeiro o arquivo não tem o nome my.ini e sim my.cnf e também a localização muda um pouco, mas geralmente fica nos seguintes caminhos (como a documentação indica):
Então verifica se você encontra esse arquivos em algum desses diretórios e se sim faz a mesma alteração, caso não encontre fala aqui para que eu possa ti indicar outra alternativa!
Eu encontrei Jonilson, mas quando fui inserir a linha no arquivo o sistema não deixou eu salvar. Apareceu o erro: Erro inesperado: Erro ao abrir arquivo “/etc/mysql/my.cnf”: Muitos níveis de links simbólicos
João Pedro você parou o serviço do MySQL? Acho que pode ser esse o problema, veja bem, esse arquivo /etc/mysql/my.cnf
é o arquivo de inicialização do serviço do MySQL, então é necessário parar o serviço fazer a alteração e depois iniciar o serviço do MySQL novamente. Então poderia falar pra gente isso?
Ahh sim. Como eu faço pra parar o serviço aqui no meu linux? Você saberia me dizer?
Para parar o serviço do MySQL você pode executar o comando no terminal:
sudo systemctl stop mysql
E depois para iniciar você pode usar o seguinte comando:
sudo systemctl start mysql
E fala se deu certo!
Ainda não deu certo. Mesmo parando o serviço deu o mesmo erro de "Muitos níveis de links simbólicos". Se não tiver outra forma tudo bem, foi só esse exercício que não deu certo o resto foi tudo okay. E muito obrigado pela sua ajuda Jonilson!!!
Nossa que pena João, por aqui é difícil identificar o problema sabe, uma outra, por estar acontecendo por algum motivo que não conseguimos identificar por aqui. Peço desculpas por não conseguir ajudar!
Tudo bem eu entendo, mas muito obrigado mesmo assim! =)