Ir para conteúdo
Fórum Script Brasil
  • 0

show full tables


PleaseWaiT

Pergunta

Senhores bom dia...

Estou fazer um programa de HOT backup pra mysql e estou com uma duvida sobre COLUMNS no SHOW FULL TABLES

Seguinte, quando tu executa o SHOW FULL TABLES todas as tabelas de uma DB aparecem pra ti com o tipo de campo representado as tabelas.(Informativo para caso alguém que leia e desconheça o comando).

Estou escrevendo um software em pascal, e estou usando o SHOW FULL TABLES para trazes todas minhas tabelas e então executando um outro codigo para que ele execute o HOT backup da tabela...

O problema é que o nome da COLUNA trazida pelo SHOW FULL TABLES não é reconhecida como COLUNA (Meio estranho esta minha comparação mais é isso mesmo).

Gostaria de ver se alguém sabe emplementar ALIAS NAME no SHOW FULL TABLES

--Cogido em pascal

with QueryUpdate, SQL do begin -- inicia a QUERY

Close;

Clear;

Add('show full tables'); -- comando FULL TABLES

Add('where table_type <> ''VIEW'' '); -- compara para não trazer nenhuma VIEW

Open;

sTable:=findField('Tables_in_virtual').Value; -- sTable não recebe o nome da TABELA

Close;

Clear;

Add('select * from '''+sTable+''' into outfile '''+sDir+''' '); -- Faz a Copia da tabela

Add(' FIELDS TERMINATED BY '','' enclosed by '''''''' ');

Add(' LINES TERMINATED BY ''\r\n'' ');

ExecSQL; --Executa o comando

FetchAll;

Deixei comentado as linhas de pascal para caso alguém tenha duvida ou desconheça a linguagem..se alguém poder me ajudar serei muito grato!

=]

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Oi, 'PleaseWaiT'

Você já verificou no debug se o nome da tabela está na variável.

Se estiver, então o erro pode estar em seu código abaixo:

Add('select * from '''+sTable+''' into outfile '''+sDir+''' '); -- Faz a Copia da tabela
O correto seria assim:
Add('select * from '+sTable+' into outfile "'+sDir+'"'); -- Faz a Copia da tabela

Link para o comentário
Compartilhar em outros sites

  • 0

Olá denis!

Então...Não esta errado a linha não...

ela realmente precisa de '3 aspas simples' pois se não a linha não reconhece o sTable nem o sDir como variaveis concatenadas...

Esse cogido de Select já vinha sido usado antes, porem ele éra antecedido por um FOR que lia todos os .frm na pasta data e então fazia um copy(sTable,0,4)

O 'x' da questão mesmo é que o comando SHOW FULL TABLES cria uma coluna 'Tables_in_virtual' e nela fica contido todas as colunas da base...

Porem se tento dizer que alguém (no caso a variavel sTable) vai receber o valor da coluna...ele me da um erro de violação de acesso.

E pra contraria mais ainda, os comando de comparação WHERE (Por exemplo) reconhecem as colunas e fazem as comparações normalmente...

E para contrariar mais ainda..!

Os comandos de comparação (Where por exemplo) reconhecem as colunas e fazem a comparação de valores e etc normalmente...

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...