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

Querys A Bd Mysql...


jxfdasilva

Pergunta

Olá Companheiros,

Aparentemente parece ser um assunto MySQL, mas não creio haver solução directamente, através dos comandos ou sintaxes SQL. Assim, correndo o risco, cá vai:

Tenho uma Tabela criada em MySQL e nela uma série de Campos. Acontece porém, que quando faço o Insert Into, quero evitar que os campos da tabela se dupliquem, ou seja, que se repitam os mesmos dados, em outra linha. Como possui 7 Campos, a condição é que só, e apenas só, quando todos os valores a introduzir dos 7 Campos sejam iguais, nesta condição não haja inserção. Alguma sugestão?

FK não worka.

Aquele Abraço

José Da Silva

Maputo - Mozambique

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Aparentemente parece ser um assunto MySQL, mas não creio haver solução directamente, através dos comandos ou sintaxes SQL. Assim, correndo o risco, cá vai:

Tenho uma Tabela criada em MySQL e nela uma série de Campos. Acontece porém, que quando faço o Insert Into, quero evitar que os campos da tabela se dupliquem, ou seja, que se repitam os mesmos dados, em outra linha. Como possui 7 Campos, a condição é que só, e apenas só, quando todos os valores a introduzir dos 7 Campos sejam iguais, nesta condição não haja inserção. Alguma sugestão?

José, acredito que haja condições de você fazer através de comando SQL sim.

Dê uma olhada neste link(MySQL 5.0 Reference Manual). você verá que há possibilidade de você ignorar(ignore), atualizá-los (update) ou substituir (replace) itens já existentes na tabela.

Se este INSERT INTO obter os registros via SELECT, talvez você já possa aí, na cláusula WHERE evitar a obtenção de dados que já existam na tabela destino, utilizando um "WHERE NOT EXISTS...".

Seria isto?

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Olá José, eu tinha me deparado com o mesmo problema aqui vai uma sugestão bem simples:

     
if TABELA.Locate('CAMPO1;CAMPO2;CAMPO3;CAMPO4;CAMPO5;CAMPO6;CAMPO7', vararrayof([VALOR1, VALOR2, VALOR3, VALOR4, VALOR5, VALOR6, VALOR7]), []) then

aonde os CAMPOS , voce coloca cada campo de sua tabela , e o VALOR1, a variável que contém o valor que voce quer procurar

a variavel VALOR1, vai procurar se existe o mesmo valor, em campo 1, se existir, ele vai procurando todos na mesma linha se existe...

não se esqueca de criar as variáveis VALOR1, ..2 ..3 etc.

Qualquer coisa posta o nome da sua tabela e os campos, que eu tento te ajudar.

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Boa Madrugada a todos,

Acabei, sem com isso tenha desistido de usar sintaxe SQL, organizar desta forma (seguindo a sugestão do schaukoski ):

If SQLQuery3.Locate('Instituicao; Hora_In; Hora_Out; Data ', VarArrayOf ([Edit1.Text, CBox2.Text, CBox3.Text, DateToStr(DT1.date) ]),

[loCaseInsensitive]) then

ShowMessage(' bla bla bla ')

//Claro que me preocupei com a formatação da data:

ShortDateFormat := 'yyyy-mm-dd'; ///logo após o Begin – simples hein!

Vou tentando magicar uma solução para uma sentença em SQL.

Uma boa jornada de sono a todos…

Obrigado companheiros

Zzzz

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...