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. A melhor solução para este tipo de falha e recuperar um backup desta tabela de antes da falha e, depois, aplicar a recuperação dos logs binários até a data atual. Usar MySQL sem este tipo de suporte é brincar com o perigo.
  2. Movendo MySQL -->> PHP
  3. Denis Courcy

    Ajuda MYSQL

    eduardoalg, quando tratamos com problemas deste tipo devemos dividí-lo para descobrir onde estamos errando. Pensando assim, vamos criar a tabela sem a constraint e depois vamos aplicá-la. se o erro acontecer na criação da tabela é porque erramos na sintaxe. Se o erro aparecer quando colocarmos a constraint algumas possibilidades poderão estar ocorrendo. 1- colocamos algo a mais em um indice primário que não está correspondendo a ligação que queremos para estabelecer a constraint. 2- alguma das tabelas deste relacionamento já possui registros que não estão correspondendo ao relacionamento para estabelecer a constraint. 3 - existem tipos de dados que não estaão correspondendo nas tabelas. Vamos ao código:(Criando a tabela) CREATE TABLE favorite_food ( person_id SMALLINT UNSIGNED, food VARCHAR(20), PRIMARY KEY (person_id, food), ); (Aplicando a constraint)ALTER TABLE favorite_food ADD CONSTRAINT fk_fav_food_person_id FOREIGN KEY(person_id) REFERENCES person (person_id); Informe onde e que erro está acontecendo.
  4. A resposta do Jhonas é interessante se for pequena a quantidade de registros na tabela. Se a quantidade de registros for grande, então será interessante criar indices do tipo FULLTEXT (neste caso o engine da tabela deverá ser MyISAM). Veja o manual do MySQL de sua versão, para mais detalhes.
  5. Denis Courcy

    Trigger

    Flechaus, Os primeiros links que aparecem, após você clicar no link passao pelo Jhonas, são do manual do MySQL. Se você os leu então já sabe que o MySQL não permite que seja utilizada outra instrução de gravação, na mesma tebela, dentro de um trigger ou Function.
  6. Denis Courcy

    Ajuda MYSQL

    'eduardoalg', Tente assim: CREATE TABLE favorite_food ( person_id SMALLINT UNSIGNED, food VARCHAR(20), PRIMARY KEY (person_id ,food), CONSTRAINT fk_fav_food_person_id FOREIGN KEY(person_id) REFERENCES person (person_id) ); Nota: Para que a constraint funcione é necessário que o engine da tabela seja InnoDB, os atributos person_id, em ambas tabelas, sejam do mesmo tipo, sinalização, nulidade e tamanho
  7. Esta resposta é para você pensar, pois ninguém melhor do que você para avaliar seu negócio. Em meu trabalho eu sempre priorizo a normalização das tabelas, mas em se tratando de web, deve-se levar em consideração a quantidade de acessos, o tamanho das tabelas e a quantidade de registros retornados e, nestes casos, a desnormalização de algumas tabelas se faz necessária.
  8. Oi Daniel, Não há como descriptografar estas senhas. As comparações entre o digitado e o contido no banco de dados são feitas criptografando o que foi digitado e comparando este esultado(criptografado) com o que está no banco de dados.
  9. Denis Courcy

    Trigger Before

    Oi 'Rafynha' Não é possivel fazer esta ação através de trigger porque o ID não é informado quando do BERORE INSERT e uando você usa o AFTER INSERT o MySQL não deixa você realizar outra operação na mesma tabela (no seu caso seria um UPDATE após concatenar o LAST_INSERT_ID() com EXTRACT(YEAR_MONTH FROM NOW()) ). Você pode rodar toda a operação (inserção e atualização) uma storage procedure. Pense nisso.
  10. Denis Courcy

    Base de Dados

    Mais seguro não. Mais difícil de administrar sim.
  11. Oi joiresende, Este tipo de pesquisa funciona melhor se você tiver tabelas desnormalizadas ou uma tabela de datas que seria usada com join para a atabela principal. Em seu caso a simples desnormalização da tabela, acrescentando um campo para ano e outro para mes, seria sufuciente para evitar TABLE SCAN (TABLE SCAN = uma busca completa na tabela, que deixaria de usar os indices e tornaria a busca demorada). A forma como você está propondo em seu primeiro post SEMPRE se tornará um TABLE SCAN.
  12. Insira um campo timestamp not null default CURRENT_TIMESTAMP. com ele você sempre vai saber qual foi o ultimo registro inserido independente da categoria. Não precisará alterar seu código de inclusão / alteração pois ele sempre manterá atualizada a ultima gravação.
  13. Desculpe. Faça assim: alter table nomedatabela auto_increment=0;
  14. Salve o arquivo excel como csv crie a estrutura de dados no mysql use o comando LOAD DATA FROM ... (veja o manual) para fazer o upload dos dados do csv para o mysql
  15. Tdente assim: SELECT cli_venc, COUNT(*) AS QTD_CLIENTES FROM clientes GROUP BY cli_venc
  16. Não dá pra responder, porque este tipo de atitude não tem nexo. Os campos ID que usam auto_increment são exclusivamente para ligar uma tabela a outra. Não há por quê ficar perdento tempo em orgalizar as lacunas. Isto só criará, a médio e longo prazo, inconsistência no banco de dados. Quando a inconsisitência ocorrer você vai chorar para descobrir o porquê da falha.
  17. Crie a estrutura em SQL. Salve o arquivo excel como csv Use o comando LOAD DATA FROM para carregar o arquivo csv para sua tabela. Leia o manual do MySQL de sua versão para saber como funciona o comando LOAD DATA FROM
  18. EXEMPLO: SELECT t1.campo2, t2.campo2, t3.campo2 FROM tabela1 t1 LEFT JOIN tabela2 t2 ON t2.campo1 = t1.campo1 LEFT JOIN tabela3 t3 ON t3.campo1 = t1.campo1
  19. Quando você instalou você marcou o checkbox para guardar o path do mysql na variável PATH do windows?
  20. Não há comunicação entre instâncias. Neste caso o melhor é realizar a consulta através de programa. Veja seu exemplo abaixo: DROP VIEW IF EXISTS `test`.`minhaview`; CREATE VIEW `test`.`minhaview` AS ( SELECT T1.campoTabelaT1, T2.campoTabelaT2 FROM banco1.TabelaT1 T1 INNER JOIN banco2.TabelaT2 T2 ON T1.id = T2.id );
  21. Se ambas tabelas estiverem na mesma instancia é só criar uma view usando o nome do banco na frente do nome da tabela.
×
×
  • Criar Novo...