-
Total de itens
3.089 -
Registro em
-
Última visita
Posts postados por Denis Courcy
-
-
pessoal gostaria de saber como fazer para remover o case sensitive do mysql de servidores linux....
Exemplo tenho uma tabela com o nome usuarios
se eu fizer um selec assim da certo..
select * from usuarios
porem se eu fizer colocando o nome da tabela Maiusculo da erro..
select * from USUARIOS ou select * from Usuarios
gostaria de saber como fazer para ele não fazer questão se e maiusculo ou minusculo como se fosse em um windows...
valeu desde já brigadão...
Oi, Fernando!
Infelizmente isto não é possível duas limitações:
A primeira, por causa do próprio Sistema Operacionalque é caso sensitivo. E como as tabelas residem como arquivos do S.O., então assim também o são;
A segunda está no próprio manual do MySQL versão 4.1 seção 1.8.3. Extensões do MySQL para o Padrão SQL-92 que diz:
"Nomes de bancos de dados e tabelas são caso sensitivoo no MySQL em sistemas operacionais
que possuem o sistema de arquivos caso sensitivoo (como na maioria dos sistemas
Unix). Ver Seção 6.1.3, “Caso Sensitivo nos Nomes”.".
A seção 6.1.3 reforça o que informei na primeira parte desta resposta e diz:"No MySQL, bancos de dados e tabelas correspondem a diretórios e arquivos em seus diretórios.
Consequentemente, o caso sensitivo no sistema operacional irá determinar o caso sensitivo nos nomes
de bancos de dados e tabelas. Isto significa que nomes de bancos de dados e tabelas são caso
sensitivo na maioria dos Unix e caso insensitivo no Windows. Uma exceção proeminente aqui é o
Mac OS X, quando o o sistema de arquivos padrão HPS+ está sendo usado. No entanto o Mac OS X
também suporta volumes UFS, esle são caso sensitivo no Mac OS X assim como são no Unix. See
Secção 1.8.3, “Extensões do MySQL para o Padrão SQL-92”.
NOTA: Apesar de nomes de bancos e tabelas serem caso insensitivo no Windows, você não deve
fazer referência a um certo banco de dados ou tabela utilizando casos diferentes na mesma consulta.
A consulta a seguir não deve funcionar porque ela chama uma tabela como minha_tabela e outra
como MINHA_TABELA."
att
Denis Courcy
-
Olá!
Acabei de instalar o Mysql no Fedora 7. Seguindo uma apostila use o comando - GRANT ALL ON teste.* TO alunos IDENTIFIED BY '123456'; - para criar o usuário alunos com acesso ao banco de dados teste e dá essa mensagem:
Query OK, 0 rows affected (0.15 sec)
Isso significa que o usuário na foi criado?
Obrigado!
Oi, 'acdestefani'!
Sim. foi criado.
att
Denis Courcy
-
Olá pessoal,
gostaria de saber se existe alguma função em mysql que exiba os nomes das tabelas com uma codição.
Alguma coisa do tipo show tables where name ...
Alguém sabe como fazer isso?
Oi, Thales!
O manual do MySQL mostra a sintaxe do SHOW TABLES, da seguinte forma:
SHOW [FULL] TABLES [FROM db_name] [LIKE 'pattern']
Então, você pode usarSHOW TABLES LIKE 'A%'
para buscar todas as tabelas que tenham nomes iniciador por "A";
att
Denis Courcy
-
Galera, pelo que eu estudei acho que isso não é possível, mas só para confirmar gostaria de saber se é possível criar um procedimento dentro do banco (stored procedure, trigger) que seja executada sempre quando for meia noite.
Valeu
Oi, Berdam!
Este procedimento automatizado só é possível a partir da versão 5.1 do MySQL.
att
Denis Courcy
-
esta dando erro na tabela, eu não encontrei alguém poderia me ajudar
...
#1064 - Você tem um erro de sintaxe no seu SQL próximo a 'CURRENT_TIMESTAMP,Funcionario char(3) NOT NULL,
Nascimento varchar(10) de' na linha 22
Oi, 'junaooaks'!
Por default o MySQL assume que o primeiro atributo timestamp not null da tabela é CURRENT_TIMESTAMP.
Declarar CURRENT_TIMESTAMP causa uma redundância que não é tratada pelo MySQL (BUG) e provoca este erro.
Declare o atributo simplesmente assim:
UltimaAlteracao timestamp NOT NULL
O erro vai parar e seu atributo vai ter CURRENT_TIMESTAMP que você deseja.
Att
Denis Courcy
-
tenho a seguinte coluna da tabela A :
...
preciso filtrar todas as linhas que possuem números de 200 até 299. O resultado seria :
...
alguma sugestão de como posso fazer isso no sql ?
Oi, Visitante!
Esta pesquisa fatalmente vai cair em um TABLE SCAN, ou seja vai varrer toda sua tabela independentemente da quantidade de registros a serem retornados. Isto porque as funções usadas avaliam linha a linha da sua cláusula where. Isto não será problema se sua consulta for de vez em quando, mas se for sempre é necessário que você pense em um a forma melhor de armazenar estes dados estruturados.
O código é este:
Select campo from tabela where substring(campo, 4, 3) between '200' and '299';
att
Denis Courcy
-
Boa tarde!
Galera eu tou usando o mysql como banco de dados.
Eu estou tendo problemas com duas tabelas aqui, é o seguinte, eu tenho uma tabela curso, e essa tabela esta relacioanda com uma tabela disciplina, Tenho um tabela professor tambem.
Esse professor ele leciona em algum curso, porem ele pode dar aulas em varias disciplinas desse curso. alguém poderia me dar uma luz de como fazer isso e manter a integridade do banco.
Agradeço a atenção.
Oi, Hilário!
A forma mais correta de montar este modelo é através de uma ligação ternária. Ou seja Você precisa de uma tabela extra que será o relacionamento entre Curso x Disciplina e Professor que neste exemplo vou chamar de RL_CURDISCPROF e conterá os atributos de identificação de Curso, Disciplina e Professor respectivamente. Não terá chave primária somente Foreign Keys com constraints para as tabelas de cadastro.
CREATE TABLE RL_CURDISCPROF ( id_curso integer unsigned not null id_disciplina integer unsigned not null, id_professor integer unsigned not null ); ALTER TABLE RL_CURDISCPROF ADD CONSTRAINT FK_CURDISCPROF_001 FOREIGN KEY (id_curso) REFERENCES curso(id_curso) ON DELETE NO ACTION, ON UPDATE NO ACTION, ADD CONSTRAINT FK_CURDISCPROF_002 FOREIGN KEY (id_disciplina) REFERENCES disciplina(id_disciplina) ON DELETE NO ACTION, ON UPDATE NO ACTION, ADD CONSTRAINT FK_CURDISCPROF_003 FOREIGN KEY (id_processor) REFERENCES professor(id_professor) ON DELETE NO ACTION, ON UPDATE NO ACTION ;
Com isso, você saberá que professor está em que disciplina de que curso e vice versa.
NOTA: Esta solução trabalha muito bem com tabelas tipo Innodb. Com tabelas tipo MyISAM somente as constraints não funcionarão.
Caso esta solução não resolva seu problema pooste novamente e avaliaremos melhor.
att
Denis Courcy
-
Ninguém vai me ajudar?
please!
Oi, Clécio!
Cria via ODBC e BDE.
No DataModule Coloque o componente TDatabase, configure a proprieadade DatabaseName com o nome interno de seu banco de dados e na propriedade AliasName coloque o nome que você definiu no ODBC. Defina, também a propriedade LoginPrompt para False e atribua os nomes de usuario e senha que serão utilizados para acessar o servidor de BD.
de resto é só utilizar os componentes TQuery e outros para manipulação das tabelas. Quanto ao Login propriamente dito, crie uma tela com dois Tedit (um para login e outro para senha) e desenvolva sua lógica no click do botão OK.
Basicamente é isso.
att
Denis Courcy
-
Tenho uma base MySQL 4.1 na qual existem 5 tabelas. Uma delas, chamemos de A, possui 50 milhões de registros e aproximadamente 45GB. Ela funciona bem a 8 anos com IO diario, e concorrência, bem grande.
De um tempo para cá, uns 3 meses, alguma operação sobre o banco vem corrompendo essa tabela e exigindo reparos frequentes. A pergunta é: Atingimos o limite do MySQL ou outra coisa pode estar corrompendo as tabelas? O erro do EventViewer é "22".
Grato.
Oi, Avalon!
Todos os problemas de corrupção de tabelas que encontrei até hoje, com o MySQL, foram ocasionados por falha de Hardware ou do Sistema Operacional. Ainda não tinha tido um relato de uma tabela tão grande, mas vamos avaliar o que pode estar ocorrendo.
Primeiro vamos verificar as limitações do MySQL, devido ao tamanho de sua tabela.
No Manual, na seção 1.2.2 "Principais Características do MySQL", o autor comenta sobre testes em tabelas co o tamanho informado por você
"• Escalabilidade e limites
• Lida com bancos de dados enormes. Usamos o Servidor MySQL com bancos de dados
que contém 50.000.000 registros e sabemos de usuários que usam o Servidor MySQL
com 60.000 tabelas e aproximadamente 5.000.000.000 de linhas.
• São permitidos até 32 índices por tabela. Cada índice pode ser composto de 1 a 16 colunas
ou partes de colunas. O tamanho máximo do índice é de 500 bytes (isto pode ser alterado na
compilação do MySQL). Um índice pode usar o prefixo de campo com um tipo CHAR ou
VARCHAR."
A Seção 1.2.4. "Qual o Tamanho Que as Tabelas do MySQL Podem Ter?" Mostra a que tamanho as tabelas podem chegar.
Por padrão, As tabelas MyISAM (Não sei se é este seu caso) estão limitadas a 4GB. Mas com a adição das cláusulas AVG_ROW_LENGHT e MAX_ROWS este limite pode ser alterado e ultrapassado em muito.
Verifique se você já atingiu o limite estabelecido na criação da tabela usando o comando SHOW TABLE STATUS
No Exemplo abaixo utilizo o status em cima de uma tabela chamada "weather".
mysql> show table status like 'weather' \G *************************** 1. row *************************** Name: weather Type: MyISAM Row_format: Dynamic Rows: 0 Avg_row_length: 0 Data_length: 0 Max_data_length: 4294967295 Index_length: 1024 Data_free: 0 Auto_increment: NULL Create_time: 2003-03-03 00:43:43 Update_time: 2003-03-03 00:43:43 Check_time: 2003-06-14 15:11:21 Create_options: Comment: 1 row in set (0.00 sec)
Você pode usar o comando ALTER TABLE para modificar estes valores. Tal como abaixomysql> alter table weather max_rows = 200000000000 avg_row_length = 50; Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0
Em segundo lugar, procure falhas em placas de rede, cabos, switches, memória RAM, placa mãe e HD;
Verifique, também, se sua rede não está apresentando colisões.
Bom, estas são as dicas que tenho para este problema.
Faça sob seus próprios riscos
Não Esqueça de fazer Backup ANTES
att
Denis Courcy
-
Oi, 'Dixavado®'! Esperimente trocar o = pelo IN na sua cláusula WHERE do select principal. Não sei se é o resultado que você deseja, mas funciona.E ai galera beleza??É o seguinte, estou tentando executar a seguinte subquery no mysql:
select * from produtos where pro_usu_codigo = (select usu_codigo from usuario where usu_cpf = '11111111111');
observações as tabelas envolvidas são chamadas produtos e usuario pro_usu_codigo: código do usuário na tabela produtos usu_codigo: código do usuário na tabela usuário usu_cpf: numero do cpf na tabela usuario Ao executar o código recebo a seguinte mensagem de erro: Subquery returns more than 1 row Gostaria de saber como faço para uma subquery retornar mais de um valor (se isso é possível). No caso eu teria que usar um for? Ou há algum outro método? vlw galera!!SELECT * FROM produtos WHERE pro_usu_codigo IN (select usu_codigo from usuario where usu_cpf = '11111111111');
att
Denis Courcy
-
Bom dia amigos,
...
Surgiu uma necessidade de criar alguns selects aqui no meu servico, segue abaixo a estrutura da tabela em que eu preciso criar o select:
mysql> select id, date, job_id, printer, user, pages from jobs_log;
+----+---------------------+--------+---------+-------------+-------+
| id | date | job_id | printer | user | pages |
+----+---------------------+--------+---------+-------------+-------+
| 1 | 2007-11-21 14:00:52 | 1 | teste | root | 0 |
| 2 | 2007-11-21 15:52:51 | 8 | teste | informatica | 2 |
....
| 29 | 2007-11-26 09:52:52 | 40 | iris | msantos | 1 |
| 30 | 2007-11-26 09:54:42 | 41 | iris | msantos | 1 |
+----+---------------------+--------+---------+-------------+-------+
30 rows in set (0.00 sec)
Preciso criar um select que mostre um campo com o total de pages para cada usuário, somando todos as pages e apenas um registro por usuário.
Obrigado pela atencão, abracos ....
Oi, Luis!
Faça deste modo:
select user, sum(pages) as total_pages from jobs_log Group by user;
att
Denis Courcy
-
Caros amigos, estou precisando criar um relatório a partir de algumas tabelas do sistema e não estou conseguinto fazê-la. VOCÊS TEM IDÉIA DE COMO EU CONSIGO FAZER ISSO? NÃO TENHO MUITA EXPERIÊNCIA EM BANCO DE DADOS, MAS PRECISO OBTER ESSAS INFORMAÇÕES.
DESDE JÁ, AGRADEÇO À TODOS !!!
[]'S
Prezado Ricardo!
Analisei sua solicitação e recomendo que você desenvolva um algorítimo, em sua linguagem de programação, que execute esta terefa. O resultado que você deseja envolve um tipo de rotina chamado "quebra" e várias outras interações que são melhor negociadas através de lógica de programação.
Caso você não saiba como montar o algorítimo poste no forum de lógica de programação (http://scriptbrasil.com.br/forum/index.php?showforum=64) que poderemos tentar ajudá-lo.
att
Denis courcy
-
ola,
estou utilizando o delphi+zeus+mysql5.0
gostaria de saber se existe alguma possibilidade de realizar uma transacao utilizando tabelas myisam.
agradecidamente
Wellington Andrade Silva
Oi, Wellington!
Com MyISAM Não.
Você pode simular com o delphi usando o try... except.
Passo o código amanhã, pois não tenho aqui e não lembro como faz.
att
Denis Courcy
Oi, Wellington!Com MyISAM Não.
Você pode simular com o delphi usando o try... except.
Passo o código amanhã, pois não tenho aqui e não lembro como faz.
att
Denis Courcy
Oi, Wellington!
achei aqui em meio a minha bagunça um fragmento de código que pode ser utilizado para esta tarefa. O banco é mysql rodando com BDE via ODBC, mas creio que você possa fazer a adaptação necessária.
try dm.banco.StartTransaction; query1.ParamByName('rz').Value:='S'; query1.ExecSQL; dm.banco.Commit; showmessage('EXAME REALIZADO'); except showmessage('não FOI POSSIVEL ALTERAR EXAME AGENDADO'); dm.banco.Rollback; end;
att
Denis Courcy
-
Boa tarde amigos,
Tenho duas tabelas - topicos e mensagens. Cada tópico possui uma ou mais mensagens e cada mensagem pode ter status 0 ou 1 (pendente ou respondida). Preciso de uma query que retorne o total de mensagens por tópico e o número de mensagens respondidas por tópico. Por exemplo:
tópico --- Mensagens --- Mensagens respondidas
---------------------------------------------------------
xyz --- 8 --- 3
zyx --- 5 --- 4
abc --- 2 --- 2
cab --- 1 --- 0
Retornar apenas o número de mensagens por tópico é fácil. Retornar apenas o número de mensagens respondidas também é moleza. Mas como fazer para retornar os dois em uma única query?
Alguém pode me ajudar?
Abraço!
Filipe
Oi, Felipe!
Sua consulta ficará assim:
Select tópico, count(tópico) as qtmensagens, sum(if(status=0,1,0)) as qtrespondidas from tópico t inner join mensagem m on t.tópico = m.tópico group by tópico;
Obs.: Por não saber qual campo faz relacionamento entre as tabelas tópico e mensagem usei o campo tópico como integrador entre as referidas tabelas.
Faça a adaptação necessária e informe sucesso ou fracasso.
att
Denis Courcy
-
boa amigo boa noite, aqui amigão esta dando erro de sintaxe.
vlw
abraços
Simples, retire o asterisco. Assim:
Select sum(if(tipo=0, 1, 0) ) as efetuadas, sum(if(tipo=1, 1, 0) ) as recebidas from crjj04;
att
Denis Courcy
-
E ai ..tava querendo fazer uma consulta em todas muitas tabelas de um bd (8), e elas até tem alguns campos em comum,como titulo,descrição,mas algumas tem tem campos que outras não tem, e eu não estou conseguindo fazer esse select,sera que alguém sabe?
Vlw!!
Oi, 'viejoyo'!
Sem atributos em comum que possam identificar relacionamentos entre as tabelas sua unica saida será usar a cláusula UNION em seu SELECT. Procure no capítulo 6 do manual do mysql versão 4.1 para detalhes de select com UNION.
att
Denis Courcy
P.S.:Cuidado com o que vai fazer pois isto poderá virar um um emaranhado que nem você entenderá.
-
Aew Galera, gostaria de saber a função para integração entre o mysql e outros bancos.
Tipo acesso as tabelas de outros bancos.
Vlw
Oi, Eduardo!
Que eu saiba não há função para este tipo de operação.
Normalmente este tipo de interação é feito através de programas chamados de "data-bridges", que lêem os dados de um banco e de tempos em tempos repássa-os ao outro banco.
No mysql eu li que isto pode ser feito usando replicação, mas não tenho o material aqui para ajudá-lo.
att
Denis Courcy
P.S:
Verifique em http://www.imasters.com.br/artigo/7058/sql..._mysql_parte_1/
-
Pessoal, boa tarde , se eu tenho 10 terminais todos acessando o mesmo BD como root isso degrada a performance ???
Estou usando aplicativo desenvolvido em xharbour com sqllib para acesso ao MySql .
Muito Obrigado
Abs
Jarbas
Oi, Jarbas!
Para o MySQL tanto faz se todos os terminais trabalham com root, ou se cada terminal trabalha com um login diferente.
A razão pe simples. O mysql funciona a base de threads. A cada conexão, independente do nome do login, ele cria um thread diferente. Assim, o que determina a perda de performance é o excesso de conexões. Como no seu caso são somente 10 estações, a perda de performance maior seria se o banco de dados estivesse em uma delas, pois assim, além de compartilhar memória para o próprio processamento (cada thead em particular), o mysql teria que compartilhar memória com um usuário em sua própria máquina. Por isso deve-se evitar que o servidor de banco de dados seja utilizado como uma estação.
Glossário:
Thread, ou linha de execução em português, é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas simultaneamente.
att
Denis Courcy
-
Boa galera!
Aqui tenho uma missão que me parece simples, porem não consigo resolver.
...
Boa agradeço.
Shelter
Oi, Shelter!
se não me falha a memória, o código seria assim:
Select * , sum(if(tipo=0, 1, 0) ) as efetuadas, sum(if(tipo=1, 1, 0) ) as recebidas from crjj04;
Informe sucesso ou fracasso para que possamos avaliar.
att Denis Courcy
-
Oi, Rodrigo!
Analisei seu problema e cheguei a uma solução que passa por alguns passos:
1 Criação de uma tabela temporária e carga dos dados nela (poderia ser uma storage procedure)
A tabela temporária deverá ter os campos idcliente e mes.
a carga consistem em 12 registro para cada cliente
o primary key ficará com os dois campos (idcliente, mes);
Create temporary table temp ( idcliente int not null, mes int not null, primary (idcliente, mes) );
2 A seleção que fornecerá sua respostaSelect t.idcliente, t.mes from temp t left join pagamento p on t.clienteid = p.clienteid and t.mes = month(p.datapagamento) where ISNULL(p.idcliente);
3 A exclusão da tabela temporária para liberação de memóriaDrop temp;
Explicando o código:
Ao criar a tabela temporária com base na tabela de clientes estabelecemos um relacionamento válido para a tabela de pagamentos que responde a pergunta quem não pagou
No Select a cláusula Left Join retornará todas as linhas da tabela temp
independente ou não se há correspondente com pagamento.
Na cláusula where criamos o filtro para que seja retornado somente o que é desejado.
Inconvenientes:
A tabela temp tem que ser criada todas as vezes que necessitar rodar este tipo de consulta
A comparação t.mes = month(p.datapagamento) resultará em um table scan (ou seja, uma varredura completa em todas as 2 tabelas) porque a função precisa ser avaliada para cada registro da tabela pagamentos. Uma forma de melhorar esta performance seria criar um campo com mês de pagamento e este campo deveria ser indexado)
Analise e informe sucesso ou fracasso
att
Denis Courcy
-
Amigos,
Gostaria de uma ajuda... Eu tenho uma tabela que possui a data do pagamento...
O usuário digita um período de tempo e a consulta retorna os clientes que não pagaram neste período.
A minha dúvida é a seguinte... Gostaria de extrair todos os meses que o cliente não pagou...
Por exemplo: cliente 1 pagou os meses
04, 05, 07, 09 e 11
O sistema deverá informar os meses 06, 08 e 10.
Se existir uma possibilidade de resolver meu problema eu agradeço, pois já tentei diversas formas que corrigí-lo.
Agradecido,
Rodrigo
Para ajudá-lo na confecção de sua select necessito de mais informações (não precisam ser reais apenas um modelo do que você quer). Uma pequena estrutura com os campos mais importantes, tais como: data de pagamento (com informação de preenchimento obrigatório ou não), data de vencimento (com informação de preenchimento obrigatório ou não), etc.
Se constam no cadastro somente a data do pagamento
att
Denis Courcy
-
Olá pessoal, tudo bom?
O meu algoritmo se o usuario digitar uma data válido, exemplo: 31/1/2007 vai imprimir na tela: Data é valida, porem se o usuario digitar 32/1/2007 o comando else não funciona e com isso não imprimi na tela: "writeln" ('Data é inválida!');
OBS.: Até o momento eu não aprendi a trabalhar com Vetor, Matriz, Case.
Obrigado aí galera pela ajuda.
Oi, Martinsr!
Seu algorítimo está errado. Observe o pseudo código abaixo e adapte-o a sua necessidade.
Se ano >= mínimo_desejado e ano <= máximo_desejado então (Ano válido) Se mês >= 1 e mês <= 12 então (mês válido) Se (mês = 1 ou mes = 3 ou mês = 5 ou mês = 7 ou mês = 8 ou mês = 10 ou mês = 12) e (dia >= 1 e dia <= 31) então (dia válido) Senão Se (mês = 4 ou mês = 6, ou mês = 9 ou mês = 11) e (dia >= 1 e dia <= 30) então (dia válido) Senão Se (Resto da divisão de ano = 0) e (dia <= 1 e Dia <= 29) então (mês = Fevereiro Bissexto e Dia Válido) Senão Se (Resto da divisão de ano diferente de 0) e (dia <= 1 e dia <= 28) então (mês = Fevereiro não Bissexto e Dia Válido) Senão (dia inválido) Fim Se Fim Se Fim Se Fim Se Fim Se Fim Se
att Denis Courcy
-
Oi denis,
executei os comandos que você falou, parecia que tinha dado tudo certo, mas ele não criou o banco... sabe algum motivo para isso?
Obrigada!
Oi, Cintia!
1- Você tomou o cuidado que falei para não sobreescrever dois bancos com o mesmo nome?
2- No comando do mysqldump você substituiu a string {nome_do_banco} pelo nome do banco de dados que você está querendo backupear?
3- Se a resposta para as duas perguntas acima foram SIM, então verifique se as tabelas do banco que você está querendo backupear não foram inseridas inadivertidamente em outro banco de dados.
4 - Você utilizou um usuário com GRANT total? Tipo root em substituição a string {usuario}?
5 - Se não utilizou, refaça a operação com um usuário que tenha plenos poderes para esta operação.
mysqlsump -u {usuario} -p --opt {nome_do_banco} > arquivo_backup.sqlmysqlsump -u {usuario} -p --opt {nome_do_banco} --result-file=backup.sqlVerifique, por favor e informe o resultado. Pois esta prática eu utilizo direto e raramente dá problema. Quando tem problema eu refaço a operação.
att
Denis Courcy
-
Fala aí rapaziada, estou tentando fazer um INSERT com um SELECT, mas não estou conseguindo. Alguém poderia me ajudar?
Separadamente, o SELECT funciona perfeitamente. Segue:
INSERT INTO ATEPSICOPMK (PMKCODIGO, ATPCODIGO, APPVALORDIREITA, APPVALORESQUERDA) VALUES
SELECT PMKCODIGO, 3, APPVALORDIREITA, APPVALORESQUERDA
FROM ATEPSICOPMK
INNER JOIN ATENDIMENTOPSICO ON ATEPSICOPMK.ATPCODIGO = ATENDIMENTOPSICO.ATPCODIGO
WHERE ATENDIMENTOPSICO.ATPCODIGO = 3
Olhei na documentação do MySql 5.1, e vi que é possível (pelo menos na teoria) fazer esse INSERT criando réplicas de registro da própria tabela.
Att
Qual o erro que está reportando?
Pelo que vi se você retirar a cláusula VALUES o código funcionará.
att
Denis Courcy
selecionando registros específicos
em MySQL
Postado
Oi, Visitante!
Não lembro agora se o MySQL aceita este tipo que vou falar. Se não aceitar verifique a opção 2 que forneço abaixo, ainda nesta resposta.
Opção 1
A Opção 2 abaixo prevê alguns passos: 1 Criação de uma tabela temporária; 2 Inclusão de registros na tabela temporária; 3 Sua consulta propria mente dita (neste caso usando um join com a tabela temporária) e, 4 destruição da tabela temporária.att
Denis Courcy