-
Total de itens
3.089 -
Registro em
-
Última visita
Tudo que Denis Courcy postou
-
Oi, Leonardo! É interessante ver como as pessoas gostam de brincar de "roleta russa" com seus dados. Por favor desencorage seu cliente de fazer isso. Pendrives não foram feitos para isso. São frágeis; O sistema de alocação de arquivos é fraco; O tempo de vida útil é muito menor que o de um HD; Só poderá usar o engine MyIsam do MySQL; Quando instalado no windows há a possibilidade de algum outro gênio plugar outro pendrive antes e alocar a "letra" do rive que está sendo usada pelo banco. Há a necessidade de a máquina dar boot com o pendrive (este não poderá ser removido) sob o risco de "perder" o servidor do banco. Para mudar os dados do mysql de uma unidade para outra Pare o servidor do banco altere o arquivo my.ini na linha onde está a variável "datadir" Reinicie o servidor do banco. Para maiores informações leia o manual de sua versão do MySQL.
-
(Resolvido) Erro no recebimento de IN() em varchar
pergunta respondeu ao soloplayer de Denis Courcy em MySQL
Oi, 'soloplayer' ! Eu não sei nada de PHP. Perguntei tipo de dados é o atributo xd.cgc_forn e o que você está colocando em '$forn1Cgc', solicitando, também um exemplo, pois sei que há casos de erros com o trato deste operador. Informe, por favor, o tipo de dados em xd.cgc_forn integer, bigint, varchar, char, ou outro (neste caso qual o tipo) Informe, também como você está passando o dado para dentro da variável '$forn1Cgc' se é desta forma ('00.000.000/0000-00', '11.111.111/1111-11', etc) ou se é assim ('00000000000000', '11111111111111', etc) ou se é assim (00000000000000, 11111111111111, etc) ou se é de outra forma (e neste caso diga como). -
(Resolvido) Erro no recebimento de IN() em varchar
pergunta respondeu ao soloplayer de Denis Courcy em MySQL
Oi, 'soloplayer'! Que tipo de dados é xd.cgc_forn e o que você está colocando em '$forn1Cgc'? Dê um exemplo do como você está atribuindo dados a esta variável ('$forn1Cgc'). -
Oi, 'alberas' ! Use o tipo TimeStamp que possui a data e a hora
-
Oi, 'Rudimar' ! Procure estudar um pouco mais de sql. Esta pergunta é muito básica. Na net tem diversos tutoriais sobre SQL Sua resposta: SELECT codigo_funcionario, sum(bonificacoes) as total_bonofocacoes FROM tabela GROUP BY codigo_funcionario;
-
Oi Rudimar! Tem como resolver, sim. É só usar a cláusula GROUP BY. Veja o exemplo:SELECT codigo_funcionario, bonificacoes, sum(salario) as total_salarios FROM tabela GROUP BY codigo_funcionario, bonificacoes;
-
Use o da MySQL ou o SQLYog versão 5.13 beta 2 (é free) e fácil de instalar. é só enter, enter, enter.
-
Oi, 'tspenido'! Esta é uma questão básica de SQL. na net você vai encontrar diversos tutoriais que te auxiliarão muito. Vamos as respostas: Sim. Existe uma clausula do SQL que possibilita a ordenação pelo campo.Exemplo: SELECT numero, cod, nome FROM coord ORDER BY nome Vai ordenar por nome ascendentemente. Outro exemplo:SELECT numero, cod, nome FROM coord ORDER BY nome DESC Vai ordenar por nome descendentemente. Posso colocar mais de um atributo(campo) nesta cláusula. Exemplo:SELECT numero, cod, nome FROM coord ORDER BY numero, nome Vai ordenar por numeroascendentemente e dentro dos números vai ordenar por nome ascendentemente. Se tiver um campo do tipo data, por dexemplo data_nascimento, pode sim. Para isso, você terá que usar a cláusula WHERE que funciona como filtro. Exemplo:SELECT numero, cod, nome, data_nascomento FROM coord WHERE data_nascimento BETWEEN '2000-01-01' AND '2000-12-31' ORDER BY nomeNo exemplo acima selecionei todas as pessoas que nasceram no ano de 2000, entre 1º de janeiro e 31 de dezembro daquele ano. Após a seleção ele vai mostrar o resultado ordenado por nome ascendentemente.
-
Oi 'Thiago Top'! Este erro foi reportado no MySQL BUG #24744 em 01/12/2006 Ele diz: Não é um bug do MySQL. É um problema de socket de sua máquina. Favor contactar o suporte Microsoft.
-
Oi, 'Mih_chele', É o último nome? Use um pequeno truque. SUBSTRING(nome, 1, length(nome) - locate(' ', reverse(trim(nome)))) Quer saber para que serve cada função? Consulte a seção 6.3.2. Funções String do manual do MySQL versão 4.1
-
Oi, 'tspenido' Poeria, por favor melhorar seu texto? Não entendi o que você quer. Ordenar? Filtrar? pelo campo nome
-
Oi, Pedro! Crie em tabela2 um indice para o atributo CodTabela2.
-
Oi,'ReDNoS'! Existem duas funções que podem ser utilizadas. A função concat e a função group_concat. A função Group_concat foi projetada e implementada na versão 4.1, para trabalhar com a cláusula group by. Consulte o manual do MySQL de sua versão, para maiores informações. Procure por Seção 6.3.7, “Funções e Modificadores para Usar com Cláusulas GROUP BY” na verão em português do Manual do MySQL 4.1
-
Oi, 'bsmachado' Procure no tópico Caixa de Ferramentas / Front Ends no início deste forum.
-
Resp.: O tempo de conexão deste usuário.
-
(Resolvido) Select de datas corridas, mesmo sem registros
pergunta respondeu ao antonio max de Denis Courcy em MySQL
Oi, 'antonio max'! Consegui uma solução que passou por uma tabela temporária (pode ser uma tabela normal). Primeiro criei uma storage procedure que cria e carrega a tabela DELIMITER $$; DROP PROCEDURE IF EXISTS `test`.`Gera_data`$$ CREATE PROCEDURE `test`.`Gera_data` (data_ini date) BEGIN DROP TEMPORARY TABLE IF EXISTS `test`.`Gera_data`; CREATE TEMPORARY TABLE `test`.`Gera_data`( DATA date NOT NULL, PRIMARY KEY (DATA) ); WHILE data_ini <= NOW() DO INSERT INTO `test`.`Gera_data`(DATA) VALUES (data_ini); SET data_ini = INTERVAL 1 DAY + data_ini; END WHILE; END$$ DELIMITER;$$ Segundo: Executei a SP:call gera_data('2007-01-01'); Terceiro: Adaptei seu select com uma tabela que tenho:SELECT gd.data , GROUP_CONCAT(g.dia, ' ') AS event_dates from sase.guia g RIGHT JOIN gera_data gd ON g.dia = gd.data WHERE gd.data between '2007-01-01' and '2007-12-31' GROUP BY gd.data; Explicando: gd.data = vai mostrar todas as datas do intervalo; GROUP_CONCAT(g.dia, ' ') AS event_dates = é o seu GROUP_CONCAT adaptado a minha tabela guia; RIGHT JOIN gera_data gd ON g.dia = gd.data = Faz com que o MySQL leia primeiro a tabela gera_data para depois ler a tabela guia. Voce deverá colocar esta cláusula, adaptando os nomes dos campos aos seus, após a instrução INNER JOIN events_dates ON events.uid = events_dates.item_id AND .... Esta instrução vai trazer as todas as datas geradas e, na segunda coluna, NULL, quando não houver equivalente na sua tabela (no meu caso a tabela guia). Tenta e nos informe o progresso. -
(Resolvido) Select de datas corridas, mesmo sem registros
pergunta respondeu ao antonio max de Denis Courcy em MySQL
Oi,'antonio max' Mostre o select para que possamos analisar. -
Oi, 'Eduardo Assis'! Execute os comando abaixo para a criação dos índices. CREATE INDEX queue_log_001 ON queue_log (time, event); CREATE INDEX queue_log_002 ON queue_log(time, callid, event); Depois de testar, informe se o tempo melhorou.
-
Oi, 'athila' ! Sua pergunta do jeito que foi feita gera um monte de possibilidades, porque JOIN é uma coisa (relacionamento entre tabelas) e WHERE é outra (filtro). Pelo que entendi, sua pergunta está relacionada a forma como um relacionamento entre tabelas é montado. Partindo disso vamos aos pontos: Exemplo 1 SELECT t1.nome, t2.salario FROM funcionarios AS t1, info AS t2 WHERE t1.nome = t2.nome; Exemplo 2SELECT t1.nome, t2.salario FROM funcionarios AS t1 INNER JOIN info AS t2 ON t1.nome = t2.nome; O manual do MySQL informa que Com base no exposto acima, pode-se concluir que não há diferença na performance dos códigos. O exemplo 2 gerou um código mais limpo. O exemplo 1 só pode ser usado como INNER JOIN. LEFT JOIN, RIGHT JOIN, não são incluídos neste tipo de comparação. Deve-se, neste caso, usar a sintaxe do exemplo 2 substituindo o INNER JOIN por LEFT JOIN ou RIGHT JOIN. Ver Seção 6.4.1.1. Sintaxe JOIN do manual do MySQl versão 4.1 (tradução em Português), para mais detalhes.
-
Oi 'kuroi'! Pelo que percebi você está usando o engine ImmoDB. Este é o engine mais difícil de recuperar fisicamente. Tem certeza que quer fazer isso? Vai dar um trabalhão e a chance de dar certo gira em torno de 20%. Engine InnoDB tem que ser trabalhado usando backup (com MySQLdump ou uma ferramenta comercial) e log binário. Não fazer isso é brincar de roleta russa com os dados.
-
Escreva a consulta para ue eu possa analisar.
-
A solução é simples. Crie um indice por este campo. Ver seção 6.5.7. Sintaxe CREATE INDEX do manual do MySQL versão 4.1. Exemplo: CREATE INDEX nome_do_indice ON tabela (campo_datetime);
-
Oi, 'Rudimar' com que valores o usuário está entrando e o que você esperava? Dê exemplo.
-
Oi, 'tiago algodas'! Os dados podem estar em dois lugares. 1 - Seu Backup 2 - No Log Binário. Porém, Se você não ativou o log binário e não faz backups regularmente, senta e chora.
-
Oi, 'Tesla'! Não há comando para isso. Vai dar um pouco de trabalho. FAÇA BACKUP ANTES NÃO me responsabilizo por erros em seus dados. Tenha a certeza de que não haja mais ninguém atualizando esta tabela. A tabela abaixo é só um exemplo. em minha base de testes ela possui 6000 registros. Dada a tabela cidades com a seguinte estrutura: CREATE TABLE `cidades` ( `idCidade` int(10) unsigned NOT NULL auto_increment, `nmCidade` varchar(80) NOT NULL, PRIMARY KEY (`idCidade`), UNIQUE KEY `nmCidade` (`nmCidade`) Siga os passos abaixo nesta ordem. O primeiro passo é desligar o auto_increment do atributo idcidade:ALTER TABLE cidades MODIFY idCidade int(10) unsigned NOT NULL; Segundo: Dropar o índice primárioALTER TABLE cidades DROP PRIMARY KEY; Terceiro: Alterar os valoresUPDATE cidades SET idcidade = idcidade + 1; Quarto: Recriar o índice primário voltando o atributo idcidade para auto_incrementALTER TABLE cidades MODIFY `idCidade` int(10) unsigned NOT NULL auto_increment, ADD PRIMARY KEY(idcidade); Quinto e último:Adicionar o registro desejadoINSERT INTO cidades (idcidade, nmcidade) VALUES (1, 'aaaaaaa');