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. Exemplo: Criando os bancos e as tabelas: create database original; create database espelho; use original; create table minhatabela( id int, nome varchar(20), primary key(id))engine=myisam; use espelho; create table minhatabela( id int, nome varchar(20), primary key(id))engine=myisam; use original; Criando o trigger de insertDELIMITER $$; DROP TRIGGER `original`.`tin_minhatabela`$$ CREATE TRIGGER `original`.`tin_minhatabela` AFTER INSERT on `original`.`minhatabela` FOR EACH ROW BEGIN insert into `espelho`.`minhatabela`(id, nome) values (new.id, new.nome); END$$ DELIMITER;$$ Criando o trigger de updateDELIMITER $$; DROP TRIGGER `original`.`tup_minhatabela`$$ CREATE TRIGGER `original`.`tup_minhatabela` AFTER UPDATE on `original`.`minhatabela` FOR EACH ROW BEGIN update `espelho`.`minhatabela` set nome = new.nome where id = new.id; END$$ DELIMITER;$$ Criando o trigger de delete:DELIMITER $$; DROP TRIGGER `original`.`tdel_minhatabela`$$ CREATE TRIGGER `original`.`tdel_minhatabela` BEFORE DELETE on `original`.`minhatabela` FOR EACH ROW BEGIN delete `espelho`.`minhatabela` where id = old.id; END$$ DELIMITER;$$
  2. Laia sobre "pivot table" já comentado aqui no forum.
  3. 'Wendell Christian' Se estiverem na mesma instância, crie a estrutura da tabela no outro banco de dados e alimente-a através de triggers na tabela de origem.
  4. Não seria mais fácil você ter apenas 2 colunas nesta tabela? Exemplo: Create table Jogo codigo int, num int, primary key(codigo,num), unique key(num,codigo));
  5. A falha do join é porque ele esta gerando um TABLE SCAN (busca linear sequencial em cada tabela do join). Isto acontece essencialmente po falta de índice que amarre uma tabela a outra.
  6. Re li seu primeiro post. Se você consegue se conectar com localhost no servidor é sinal que sua instalação está correta. Voce precisa criar um usuário "usuario@%", pois o que foi criado nativamente é do tipo "usuario@localhost" e não é acessivel por outras máquinas(estações) (isto inclui qualquer ip diferente do 127.0.0.1 que é o localhost). Primeiro, use o programa mysql para se conectar ao servidor como o usuário root do MySQL: shell> mysql --user=root mysql mysql> GRANT ALL PRIVILEGES ON *.* TO meunovousuario@'%' IDENTIFIED BY 'alguma_senha' WITH GRANT OPTION; Na instrução acima foi concedido todos os privilégios de acesso ao usuário meunovousuario que pode acessar de qualquer estação '%'. Para saber mais privilégios você deverá ler o manual do mysql de sua versão. Você também pode criar usuario com as instruções abaixo.(tem que executar as duas) mysql> INSERT INTO mysql.user VALUES('%','meunovousuario',PASSWORD('alguma_senha'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); mysql> FLUSH PRIVILEGES;
  7. Primeiro passo: no servidor remova a senha do root. Leia este artigo: http://scriptbrasil.com.br/forum/index.php...st&p=543812 Segundo passo: Crie um usuário usuario@% para ser acessado de uma estação (não esqueça de dar grant de select para poder testar) Terceiro passo: Reestabeleça as conexções de usuários e suas seguranças. Incluindo o root.
  8. Uma outra possibilidade é modificar o atributo para que contenha a cláusula ZEROFIL. Zerofil preenche zeros a esquerda de números inteiros.
  9. O primeiro passo é criar um índice por data descendente e modificar sua consulta para fazer o abaixo: SELECT a, b, c FROM tabela use index (nome-do-indice-com-data-invertida) LIMIT 12 As demais perguntas responderemos se esta ação não for suficiente.
  10. Campos numericos com ZERO na frente são representações de bases numéricas diferentes. Neste caso base OCTAL. A representação de números em bases decimais se faz SEM zeros na frente. Outra coisa, o número 5.405 não é 5mil 405. é 5,405.
  11. A sintaxe correta seria: SELECT tbpedido_venda.codped , tbcliente.nome , tbpqp.produto , tbpqp.qtde , tbpedido_venda.valt , formpag.fomap , formpag.valp FROM tbpedido_venda INNER JOIN tbcliente ON tbcliente.codcli = tbpedido_venda.fk_cliente_codcli INNER JOIN tbpqp ON tbpqp.fk_pedido_venda = tbpedido_venda.codped INNER JOIN formpag ON formpag.fk_pedido_venda = tbpedido_venda WHERE tbpedido_venda.dataped='20121127';
  12. Não é questão de salvar de forma correta ou errada. Da mesma forma que um HD precisa de manutenção (desfragmentação, verificação de erros e backups), um banco de dados também precisa. Quando registros são apagados tanto os índices como os dados ficam "inchados" (ficam acunas) (seus espaços não são cobertos até que haja uma otimização). (equivale a defragmentação). Quando uma tabela se corrompe uma ação de correção é necessária (assim como uma verificação de erro do disco) Os backups devem ser realizados constantemente (tanto do HD como do banco de dados).
  13. A sintaxe correta é: select codcliente,nome,codplano,tipo,vdown,vup,ldown,ilimitado,valor from cliente c inner join plano p ON p.codplano = c.codplano where tipo = 'simples' order by nome Nesta caso imagino que codplano é um campo em cliente para informar que o cliente possui um determinado plano.
  14. Desinstale o mysql após desinstalar vá ao prompt (se você estiver sando o win xp ou superior) de comando (iniciar/executar) digite cmd na tela do prompt digite SC DELETE MySQL (sendo MySQL o nome do serviço que você usou na primeira vez (inetalação padrão)) feche a tela do prompt reinstale o mysql
  15. Dependendo do tipo de dado contido no campo blob não há como pesquisar seu conteúdo.
  16. Denis Courcy

    Senha Cryptografada

    Dependendo de como foi criptografada não há como retornar ao original.
  17. Denis Courcy

    Armazenar registros

    Forum errado. Movendo MySQL-->>PHP
  18. Procure por pivot table. Já publiquei alguns tópicos a respeito.
  19. Engana ele. Um select sempre retorna como uma "tabela". então pode ser tratado da mesma forma: SELECT * FROM(Select apl_pub_img.publicacao_idx,apl_pub.nome,apl_pub_img.imagem, ranking From apl_publicacao apl_pub Inner Join apl_publicacao_paginas apl_pub_img On apl_pub.publicacao_idx = apl_pub_img.publicacao_idx Where apl_pub.publicacao_idx=11 Group By apl_pub_img.publicacao_idx ) minhatabeladeretorno ORDER BY ranking ASC
  20. Denis Courcy

    Como saber

    Leia sobre log binário
  21. Diversas são as razões para seu sistema estar lerdo. A principal é que suas consultas devem estar gerando table scan (varredura completa na(s) tabela(s) para achar registro(s).) e isto se deve a alguns fatores, tais como, falta de indices, pesquisas com like ou substring ou outra que varra um determinado campo, etc. Você vai ter que estudar e depurar cada uma das rotinas de acesso a banco em seu sistema para poder melhorar a performance dele. Meu sistema trabalha com mais de 1000 inputs por dia e não nega fogo porque está bem azeitadinho.
  22. Na instrução ALTER TABLE IMOVELNET.IMOVEL ADD (FOREING KEY (DCVENDEDOR) REFERENCES IMOVELNET.VENDEDOR (CDVENDEDOR)); Não existe o campo DCVENDEDOR na tabela IMOVELNET.IMOVEL
  23. Estude sobre storage procedure.(Ver manual do mysql de dua verão)
×
×
  • Criar Novo...