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. Sim, faz. A Criação das tabelas, a ligação entre elas através de constraints e a administração dos dados (inclusão, alteração e consulta) estão documentadas no capítulo 6 do manual do MySQL (Versão 4.1 - tradução em português). Se houver dúvidas poste novamente e te ajudarei.
  2. Minha duvida é criar o buscador ou pesquisa, já exixtem dados nestas tabelas, queria por exemplo que no menu categoria estivesse as categoria exixtentes exemplo tele-entrega e ferragem e no bairro exemplo BGV e Parque São Pedro, assim quando quise escolher por exemplo buscar tele-entragas bairro bgv , de o resultado da tabela cat_geral que tenha na cat_categoria e cat_bairro escolhidos pelo usuáro. Não sei se estou conseguindo me explicar, o grande detalhe que não tenho nada montado para pesquisa to começando do zero Este não é o forum apropriado para isto. Informe a linguagem que está sendo utilizada e transferirei o tópico para àquela área.
  3. Oi, 'Jetro' Você disse: O quê, exatamente, não funciona?
  4. Oi, 'manogaucho' Se sua dúvida é somente na montagem do SQL para sua consulta, este seria assim: SELECT cat_geral FROM CATEGORIA WHERE cat_bairro = <seu elemento de pesquisa> AND cat_categoria = <seu elemento de pesquisa>
  5. Oi, 'sounobre' Você vai necessitar de identificadores para esta tabela. Um deles será a chave primária e indicará o tópico e o outro indicará que aquele tópico está vinculado a outro tópico. Seguindo seu exemplo: Ficaria assim: Identificador Pertence_a Nome Email Site Assunto Mensagem 1 1 xxx xxx xxx xxx xxx xxx 2 1 yyy yyy yyy yyy yyy yyy Eu penso que a solução com 3 tabelas seria melhor. 1 tabela de usuários (idusuario, nome, email, etc) 2 tabela de tópicos (idtopico, titulo, data/hora, idusuario, etc) 3 tabela de posts (idtopico, idpost, data/hora, idusuario, mensagem, etc). O relacionamento seria: Um usuário pode ter 0 ou N tópicos Um usuário pode ter 0 ou N posts um Tópico pode ter 1 ou N posts (O primeiro post é referente a mensagem do tópico e tem como usuário, obrigatóriamente o usuário que abriu o tópico).
  6. Oi, 'Edi Carlos' Faça assim: ALTER table teste ADD CONSTRAINT foreign key (cd_grupo) references grupo (CD_GRUPO) ON DELETE CASCADE ON UPDATE CASCADE); Fácil, não? Ver: 6.5.4. Sintaxe ALTER TABLE
  7. Denis Courcy

    Tirar Case Sensitive

    Oi, 'julgado' Dê uma lida nesta seção do manual do MySQL: 6.1.3. Caso Sensitivo nos Nomes
  8. Denis Courcy

    Replicação

    Oi, 'Dri.' Você está trabalhando com a versão enterprise (paga) do MySQL? Se não me falha a memória, se estiver não vai funcionar.
  9. Oi, 'Diego Canindé' Aparentemente o erro pode estar na pontuação da última linha. Por padrão, quando escrevemos uma procedure ou trigger avisamos o motor do banco que o caractere para pontuação derá trocado. Então, escrevemos o cídigo usando o ponto e virgula normal e, para fechar a procedure/trigger informamos o caracter usado como substituição. O último comando é enviarmos ao motor mo MySQL que o caracter delimitador de comandos voltará a ser o ponto e vírgula. Exemplo, usando seu código: DELIMITER $$; DROP TRIGGER `saidaestoque`$$ create trigger `tg_insert_saidaestoque` after insert on `saidaestoque` for each row begin update cliente cli set cli.dtultcompra = date, cli.cdvendedor = new.cdvendedor where (cli.cdcliente = new.cdcliente) and ((cli.dtultcompra < new.dtsaida) or (cli.dtultcompra is null)); if new.nrorcamento > 0 then begin update orcamento orc set orc.status = 1 where (orc.nrorcamento = new.nrocamento); end if; END$$ DELIMITER;$$ No exemplo acima informei ao motor do MySQl que o caracter delimitedor de linha de comando será o "$$". Dentro do trigger informo o caracter ";" No final da criação do trigger informo o caracter "$$" E, por último, informo a nova mudança do caracter delimitador voltando a ser o ";"
  10. Oi, 'sounobre' ! Você deve criar uma única tabela de posts que deverá referenciar a si mesma. É chamado de autorelacionamento. Ou, no máximo, duas tabelas. Uma para o tópico outra para os posts do tópico
  11. Sim. Eles já existem na forma de foreign key. No momento você não sentirá deficiência na performance, mas quando a tabela tiver cheia, cada atualização terá o tempo aumentado porque terá que atualizar estes índices, além dos índices de foreign key. Assunto encerrado?
  12. Oi, 'BetoGroo'! Modifique sua tabela assim: ALTER TABLE `delpol`.`telefone` MODIFY `id_tel` INT UNSIGNED NOT NULL DEFAULT 0, DROP INDEX telefone_FKIndex1, DROP INDEX telefone_FKIndex2; Os índices estão duplicados e causarão deficiência na performance desta tabela quando ela estiver carregada. Modifique o trigger para que fique assim:DELIMITER // CREATE TRIGGER `delpol`.`TR_INCREMENTA_id_tel` BEFORE INSERT ON `delpol`.`telefone` FOR EACH ROW BEGIN DECLARE num INTEGER; /* a função COALESCE retorna o primeiro elemento não nulo */ SET num = SELECT COALESCE((SELECT MAX(id_tel) FROM telefone WHERE rl_id_func = NEW.rl_id_func), 0); /* Não há a necessidade de testar o nulo pois a função coalesce já resolveu isto. E não há a necessidade de testar valor menor que zero pois o atributo id_tem é unsigned, ou seja, pertence ao conjunto dos números naturais */ IF (num = 0) THEN SET num = 1; ELSE SET num = num + 1; END IF; SET NEW.id_tel = num; END // Teste e informe, por favor.
  13. Oi, 'BetoGroo' Você pode passar a estrutura de como você criou a tabela telefone, por favor?
  14. Um trigger é um procedimento "embutido" em uma tabela, se é que posso definir assim. Este procedimento é disparado, a cada vez que a tabela sofre uma modificação (insert, update ou delete) conforme o tipo de trigger. O disparo pode ser antes que a modificação seja processada ou após. Sendo assim, respondendo sua pergunta, sim. um trigger reconhece um insert oriundo de uma procedure
  15. Funciona, sim. E de forma mais eficiente. Faça assim: WHERE campo BETWEEN 1 AND 10
  16. Oi, 'Vieri' A tabela proc existe, sim, no banco mysql. É responsável pela guarda das storage procedures. Sua estrutura é: CREATE TABLE `proc` ( `db` char(64) character set utf8 collate utf8_bin NOT NULL default '', `name` char(64) NOT NULL default '', `type` enum('FUNCTION','PROCEDURE') NOT NULL, `specific_name` char(64) NOT NULL default '', `language` enum('SQL') NOT NULL default 'SQL', `sql_data_access` enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') NOT NULL default 'CONTAINS_SQL', `is_deterministic` enum('YES','NO') NOT NULL default 'NO', `security_type` enum('INVOKER','DEFINER') NOT NULL default 'DEFINER', `param_list` blob NOT NULL, `returns` char(64) NOT NULL default '', `body` longblob NOT NULL, `definer` char(77) character set utf8 collate utf8_bin NOT NULL default '', `created` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `modified` timestamp NOT NULL default '0000-00-00 00:00:00', `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') NOT NULL default '', `comment` char(64) character set utf8 collate utf8_bin NOT NULL default '', PRIMARY KEY (`db`,`name`,`type`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Stored Procedures'
  17. Em seu código de programa, se suas tabelas forem InnoDB (MyISAM não obedece), você pode enviar o comando de START TRANSACTION e, no final, enviar o comando de COMMIT se tudo foi OK ou ROLLBACK se algo deu errado. Estes comandos podem ser executados em uma Storage procedure, também.
  18. Oi, 'Tchello' Pesquise antes de perguntar. sua resposta está no tópico : (Resolvido) DUVIDA
  19. Oi, 'Bruno Damasceno' Não conheço o windows 7, ainda. Mas buscando referências na net, sobre a instalação do MySQl nesta versão do windows achei algo que pode ser o que você está procurando. Veja Installing Apache, PHP, MySQL, + phpMyAdmin on Windows 7 e atente para o ítem 8. Boa Sorte.
  20. Oi, 'ANDRE_GUSTAVO' ! O relacionamento entre duas tabelas pressupõe, sempre, que uma é dependente da outra. Ou seja a tabela dependente deve conter o atributo(campo) com a chave primária da tabela dominante. A tabela `tbl_horariosdisponiveis ` deveria conter o atributo `Id` da tabela `tbl_agendamentos`, pois para cada registro de `Id`.`tbl_agendamentos` deveria haver 0 ou muitos registros em `tbl_horariosdisponiveis `, mas isto não está ocorrendo na tabela que você postou. Reveja sua lógica.
  21. Oi, 'unisov' Você pode usar a expressão IN, desta forma: 'SELECT * FROM ibf_members, INNER JOIN ibf_member_extra ON ibf_members.id = ibf_member_extra.id WHERE mgroup IN (15, 16, 17) AND ORDER BY members_display_name ASC '; Ou pode usar a expressão BETWEEN, desta forma: 'SELECT * FROM ibf_members, INNER JOIN ibf_member_extra ON ibf_members.id = ibf_member_extra.id WHERE mgroup BETWEEN 15 AND 17 AND ORDER BY members_display_name ASC ';Neste caso, a expressão between vai pegar tudo o que compreender entre o menor valor (inclusive) e o maior valor(inclusive). Você pode continuar usando a forma como estava antes sem o INNER JOIN. Mas ele torna o código mais claro (explícito) do que está ocorrendo.
  22. Oi,'Vieri'! O banco mysql é nativo do servidor de banco MySQL e é responsável pela guarda dos usuários, controles de acesso, etc. Tem certeza que quer mexer aí?
  23. Oi, 'Vieri' use mysql -u root -p --port=3307
  24. Oi, 'Herofmb'! Que versão do MySQl você está usando? Nas versões 5.0.x, 5.1.x e 6.x as possibilidades para ON DELETE são: RESTRICT | CASCADE | SET NULL | NO ACTION
  25. Denis Courcy

    Senha para usuário root

    Oi,'mtp'! Por default o MySQL 5.x exige a criação de um usuário root@% para que possa ser acessado de outros terminais. Crie este usuário de dê todos os privilégios a ele. Se você não está conseguindo mais acessar o MySQl, troque a senha do root com as dicas deste tópico:Descobrir senha de banco mysql
×
×
  • Criar Novo...