Ir para conteúdo
Fórum Script Brasil

Denis Courcy

Moderadores
  • Total de itens

    3.089
  • Registro em

  • Última visita

Tudo que Denis Courcy postou

  1. é uma regra do mysql não permitir que haja um cascateamento de gravações na mesma tabela usando um trigger. ou seja, um insert ou update ou delete não pode fazer um outro insert ou delete ou update na mesma tabela acionado por um trigger. A razão é evitar um auto dead lock na tabela em questão.
  2. Somente através de programação usando sua linguagem preferida..
  3. <script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script> Isto acontece porque a intercessão dos conjuntos cred.id_remetente = cli.Chave retorna um conjunto vazio. A solução é substituir o INNER JOIN pelo LEFT JOIN e colocar um IF onde aparecerem os valores, para testar se nulos sustituir por zero. Corrigindo o código, fica assim: SELECT cli.Chave, IF(cred.total_credito IS NULL, 0, cred.total_credito) AS total_credito, IF(debt.total_debito IS NULL, 0, debt.total_debito) AS total_debito, (IF(cred.total_credito IS NULL, 0, cred.total_credito) - IF(debt.total_debito IS NULL, 0, debt.total_debito)) AS saldo FROM cli LEFT JOIN (SELECT id_remetente, sum(Credito) AS total_credito FROM clicredito GROUP BY id_remetente) cred ON cred.id_remetente = cli.Chave LEFT JOIN(SELECT id_remetente, sum(Debito) AS total_debito FROM clidebito GROUP BY id_remetente) debt ON debt.id_remetente = cli.Chave WHERE cli.Chave = 37813
  4. Denis Courcy

    MySQL Navicat

    No console do servidor cadastre um usuário com @% para que ele possa ser visto de qualquer terminal. Exemplo: usuario@% Não esqueça de dar acessos a ele antes de tentar se logar com ele.
  5. Não sei se é possível. Nunca li a respeito, nem na versão enterprise.
  6. Denis Courcy

    MySQL Navicat

    Você está tentando a conexão através do console do servidor ou de uma outra estação?
  7. Se entendi certo então é só fazer uma chave única com os campos id e endereço e este par ordenado (tupla) será único
  8. Se nesta ação VALUES ('Shadowcores', \'\', \'\')você quer o resultado gravado como Shadowcores, \, \ , então você tem que usarVALUES ('Shadowcores', '\\', '\\')
  9. Tenta aí:SELECT cli.Chave, cred.total_credito, debt.total_debito, (cred.total_credito - debt.total_debito) AS saldo FROM cli INNER JOIN (SELECT id_remetente, sum(Credito) AS total_credito FROM clicredito GROUP BY id_remetente) cred ON cred.id_remetente = cli.Chave INNER JOIN(SELECT id_remetente, sum(Debito) AS total_debito FROM clidebito GROUP BY id_remetente) debt ON debt.id_remetente = cli.Chave
  10. Movendo Mysql -->> PHP
  11. Um caminho é criar uma tabela temporária, carregar um registro nela, deletar todos os registros da tabela alvo, depois, inserir na tabela alvo os dados da tabela temporária. Outro caminho é marcar os registros a serem deletados usando cursor e um laço while e, depois deletá-los.
  12. Tente atribuir um diretório válido (com direitos de escrita e leitura para o --log-error. Exemplo: mysqldump -u root -ptvg1nm3trics --single-transaction --quick -R --triggers --log-error=$DIR_DIARIO/erros_proc_bkp.log -B zabbix | gzip >$DIR_DIARIO/bkp_mysql_full_$(date +"%Y-%b-%d").sql.gz
  13. Todas as tabelas estão como InnoDB? O Mysql permite que você escolha o engine de cada tabela do banco.
  14. Somente nos campos de tabelas do tipo BLOB hospedam imagens. Se você não tem campos deste tipo então a referencia é apenas escrita (este é o pior cenário). Neste caso todos os campos texto são candidatos. Sugestão: gere um dump(backup) do banco com mysqldump. O resultado será um arquivo tipo texto (a extensão default é .sql). Abra o arquivo com um editor tipo notepad++ e de uma busca. Se houver referência você terá a tabela e o campo em uma única linha.
  15. Você deve ter permissão de administrador para executar este comando. use --result-file=C:\\pasta\\backup.sql editando... Lembrei de uma coisa. Estás usando McAfee? http://lists.mysql.com/mysql/209856
  16. Use o mysqldump.exe. O utilitário do mysql para backup. Eu faço backup de meus bancos usando esta configuração: mysqldump --opt --flush-logs --triggers --port=3306 --user=root --password --result-file=backup.sql --databases "nomedobancodedados"
  17. O Mysql faz conversão automática de string para tipo numéricos. Se a string que você está inserindo em um campo float é composta de digitos e ponto (eu disse ponto e não virgula) flutuante, então ele vai inserir normalmente. Senão ele inserirá zero como default a partir do ponto que ele não entender o que está sendo gravado. Exemplo: 1.1 = 1.1; 1.w = 1; w.1 = 0; 1,1 = 1;
  18. use a função REPLACE. Leia a sintaxe no manual do mysql de sua versão.
  19. Em vez de usar isso WHILE (@i < @verificador) DO BEGIN SELECT idProduto, preço INTO @idProduto, @preço FROM produto ORDER BY idProduto LIMITE @i,@i+1; INSERT INTO valoresprecosproduto (valorPrecoProduto, idPrecoProduto, idproduto) VALUES (@preço+5, NEW.idPrecoProduto, @idProduto); SET @i := @i+1; END;Não dá pra usar algo como isso? INSERT INTO valoresprecosproduto (valorPrecoProduto, idPrecoProduto, idproduto) SELECT idProduto, preço FROM produto ORDER BY idProduto WHERE useumalogicaparafiltrar;
  20. Este é um comando INSERT INTO assessmentofcare (`notes` , `tmessage` , `threadids`)VALUES ( 1, 'message', 5)e este é outro select a.threadids from assessmentofcare a left join chatmessage b on a.threadids=b.threadid;Não tente juntá-los porque vai dar erro.
  21. de o comandouse nomeDoSeuBancoDeDados;antes de tentar importar para que ele selecione seu banco antes e possa colocar a tabela no lugar certo.
  22. <script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script> Vamos melhorar. Se você usar o que está acima estará agrupando vários anos.Para evitar a repetição use: SELECT SUBSTRING("campo com a data",1,7) as anomes, SUM(tr.valor_total) as valor_total_treinamentos FROM treinamentos_realizados tr INNER JOIN colaboradores c ON C.cpf = tr.cpf_colaborador WHERE tr.cpf_colaborador = '12365487995' GROUP BY anomesOu Assim: SELECT YEAR("campo com a data") as ano, MONTH("campo com a data") as mes, SUM(tr.valor_total) as valor_total_treinamentos FROM treinamentos_realizados tr INNER JOIN colaboradores c ON C.cpf = tr.cpf_colaborador WHERE tr.cpf_colaborador = '12365487995' GROUP BY ano, mes
  23. Use a função LAST_INSERT_ID(). Eu a uso muito para incluir registros de detalhe e itens de nota fiscal. O id de Nota fiscal e de detalhe de compras é auto_increment. Para buscá-lo e gravá-lo em item de nota fiscal uso a função LAST_INSERT_ID() dentro da transação de gravação.
  24. poderia, por favor, postar a estrutura da tabela pedidosvendaprodutos para que eu possa testar as situações em meu banco de teste?
×
×
  • Criar Novo...