-
Total de itens
3.089 -
Registro em
-
Última visita
Tudo que Denis Courcy postou
-
Caixa de ferramentas
-
Sim. O console principal sim. mas você pode baixar o mysql workbench que é mis amigável
-
Baixe daqui http://dev.mysql.com/downloads/mysql/ conforme o SO que você usa.
-
O MySQL Community é free. Você pode baixá-lo atraves do link que eu disponibilizei no tópico caixa de ferramentas neste forum.
-
Pode trabalhar com ele tranquilamente. Fiz uns teste de conexão com vb.net e funcionaram muito bem. Eu usei o MyODBC e apontei a conexão para ele. Vou procurar os testes que fiz. Se achar posto aqui.
-
(Resolvido) Erro na Inserção de dados
pergunta respondeu ao lampiao_muléstia de Denis Courcy em MySQL
Então eles devem ser passados como string "+" e "-" e não do jeito que você está fazendo. -
(Resolvido) Erro na Inserção de dados
pergunta respondeu ao lampiao_muléstia de Denis Courcy em MySQL
Oi 'lampiao_muléstia' You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 0000002625284, +, 0000005829458, +, 0000000000000, +, 0000008454742, +, 0000002' at line 1 O que faz este sinal de + alí, entre vígulas? -
'Evandro Choma', Verifique se sua procedure está assim: DELIMITER $$ USE `nome do banco`$$ DROP PROCEDURE IF EXISTS `nome da procedure`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `nome da procedure`(IN dtinicial DATE, IN dtfinal DATE) BEGIN todas as instruções aqui dentro terminam com; END$$ DELIMITER; Eu uso a versão 5.1Para a versão 5.0.37 use :DELIMITER $$; USE `nome do banco`$$ DROP PROCEDURE IF EXISTS `nome da procedure`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `nome da procedure`(IN param1 DATE, IN param2 DATE) BEGIN todas as instruções aqui dentro terminam com; END$$ DELIMITER $$;
-
Já tive alguns erros deste tipo. Algumas verões do MySQL informa que a instrução delimiter deve ser como você descreveu. Outras versões, como a sua, você deverá usar deste jeito: -- Inicie com o comando abaixo DELIMITER $$; -- e encerre com o comando abaixo DELIMITER;$$
-
MyISAM é a solução. Vantagens; Velocidade, performance, facilidade de manutenção, possibilidade de criação de índices fulltext. Desvantagem O controle de integridade referencial ficará por sua conta (por conta de seu sistema)
-
Mesma coisa nunca é. A cláusula INNER JOIN torna o código mais claro e coloca a igualdade fora da cláusula WHERE deixando a clausula WHERE para o que realmente ela deve fazer que é "filtrar dados da consulta"
-
Faça assim, supondo que seu código esteja dentro de uma procedure: DECLARE meuID int unsigned; SET meuID = (SELECT ID FROM produtos WHERE Clientes_ID = var_iClienteID and CODIGOCLIENTE = var_sCodigoProduto ); IF meuID IS NULL THEN SET meuID = 0; END IF;
-
Use LEFT JOIN. Assim: SELECT c.*, v.* FROM clientes AS c LEFT JOIN veiculos AS v ON c.id_veiculos = v.id_veiculos E em vez de escrever o código como você fez para obter o conjunto INTERCESSÃO entre veiculos e clientes, use INNER JOIN. É mais limpo e mais fácil de entender. SELECT c.*, v.* FROM clientes AS c INNER JOIN veiculos AS v ON c.id_veiculos = v.id_veiculos
-
Preciso verivicar alguns pontos. Te respondo depois. Como pensei. Após ler o manual do MySQL constatei não haver meio de passar uma instrução SQl para a construção de um cursor em tempo de execução. Você pode criar instruções SQL em tempo de execução com o comando PREPARE, EXECUTE e DEALLOC mas este comando não pode gerar um cursor. Uma saída poder ser usar um nome de tabela padrão. DROP e RECRIE a tabela antes da execução da procedure. Assim a instução SQl a que seu cursor se refere não será afetada.
-
Preciso verivicar alguns pontos. Te respondo depois. Na ultima replace puderia já utilizar o TRIM como no Delphi deixando assim? Você pode usar "'" para representar a aspas simples ou '"' para representar as aspas duplas. Para o MySQL ' ou " podem ser usados como delimitadores de string Você pode usar a função TRIM para retirar os espaços antes e depois. Abaixo alguns exemplos de como usá-la: mysql> SELECT TRIM(' bar '); -> 'bar' mysql> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx'); -> 'barxxx' mysql> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx'); -> 'bar' mysql> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz'); -> 'barx' O MySQl converte automaticamente string para numerico sem necessidade de uso de função. Então, SET fPosicaoEstoque = sPosicaoEstoque / 1000; é uma operação válida.
-
Fala assim: Entre no mysql pela linha de comando. Clique em iniciar/executar digite cmd <enter> dentro da janela do prompt do sistema operacional vá para a pasta onde está seu arquivo .sql depois, na janela do prompt digite mysql -u root -p suasenhadoroot quando aparecer o prompt do mysql digite source nomedoseuarquivo.sql <enter> quando ele terminar saia do mysql digitando quit <enter> e para sair do prompt do sistema operacional digite exit <enter>
-
Oi, 'LucianoR' creio que você pode continuar daqui: SELECT mp.idinsumo AS mat_prima, mp.descricao AS desc_mat_prima, xyz.cliente, xyz.qtprodutos FROM materia_prima mp INNER JOIN insumos ins ON ins.idinsumo = mp.idinsumo INNER JOIN ( SELECT abc.cliente, abc.idproduto, MAX(abc.qtdprodutos) AS qtprodutos FROM ( SELECT ped.cliente, prod.idproduto, COUNT(itped.idproduto) AS qtdprodutos FROM pedido ped INNER JOIN itens_do_pedido itped ON itped.numero_pedido = ped.numero_pedido INNER JOIN produto prod ON prod.idproduto = itped.idproduto GROUP BY ped.cliente, prod.idproduto ) abc GROUP BY abc.cliente, abc.idproduto ) xyz ON xyz.idproduto = ins.idproduto WHERE mp.idinsumo = 10
-
Compare dadas (em forma de string, como é o seu caso por causa do uso da função) sempre na forma AAAA-MM-DD Como se fosse número dia equivale casa das unidades, mes equivale a casa das dezenas e ano equivale a casa das centenas. Leia o capítulo 6.3.4. Funções de Data e Hora do manual do MySQL para maiores informações sobre funções que trabalham com data e hora.
-
Oi 'LucianoR' Isto está com cara de trabalho escolar. Mostre como você tentou fazer o exercício que te orientarei no prosseguimento dele. Não faremos o exercício pra você.
-
Sim. a dica é que cada campo deve trabalhar com o tipo correto. Se é timestamp então use o tipo timestamp e não o tipo INT para armazenar o valor do campo. Por você usar o tipo errado sua consulta sempre vai pesquisar em TABLE SCAN (que é a varredura completa das duas tabelas) em vez de usar índicers que otimizariam muito a performance da consulta.
-
Oi 'grego' Faça assim: SELECT ctr.*, cli.nome, a1.nome AS nomec, a2.nome AS nomev, lj.nomeloja FROM contrato ctr INNER JOIN cliente cli ON ctr.codigocliente = cli.codigocliente INNER JOIN acesso a1 ON ctr.crediario = a1.codioper INNER JOIN acesso a2 ON ctr.vendedor = a2.codioper INNER JOIN loja lj ON ctr.loja = lj.idloja Você precisa "apelidar" cada tabela com um apelido diferente para que o join possa entender o que você quer fazer.
-
http://www.andersonrp.com/textes/imobiliarias/ http://www.andersonrp.com/textes/imobiliarias/cms/login.html Oi 'Anderson Goulart', Vi a mensagem de erro gerada. Não vejo que haja um erro do MySQL e sim um erro na forma como você escreveu seu código em PHP. Vou mover o tópico para a seção do fórum que trata de PHP para que você possa ter um apoio melhor já que não conheço da linguagem.
-
(Resolvido) myisam vs memory vs innod vs archive
pergunta respondeu ao hipnos na area de Denis Courcy em MySQL
Eu vejo de outra forma. Se o controle de transação e de integridade estão em meu programa (para ganho de performance em banco) uso MyISAM (A configuração e tunning dele é mais fácil) Se o controle de transação e de integridade são efetuados pelo banco, então uso InnoDB. Uso MEMORY em tabelas tempotrárias para que possam ser descarregadas no banco físico com mais facilidade e para que possam ser consultadas sem ter que acessar dados em disco. Ao dropar uma tabela temporária com engine MEMORY os dados são apagados e a área de memória alocada é liberada automaticamente. -
Oi 'Anderson Goulart' os links estão quebrados. Passe-os novamente.
-
Correto. Mostre a instrução CREATE VIEW que você usou para gerar a view.