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

SQLite e Python - Inserção de variáveis


viniciuspaludo

Pergunta

Fala, pessoal, beleza?

Eu estou desenvolvendo um projeto de ensaio em Python, onde me comunico com banco de dados através de SQLite.

A questão é que eu quero que o sistema crie tabelas no BD, e que o nome dessas tabelas possa ser definido pelo usuário.

O problema é que eu já tentei inserir variáveis de todas as formas que encontrei pela net, mas sempre dá erro de sintaxe.

Tentei assim:

nomedatabela = input("Digite: ")

cursor.execute("""CREATE TABLE %s (x integer, y integer)""" %(nomedatabela))

ou

cursor.execute("""CREATE TABLE ? (x integer, y integer)""", (nomedatabela))

ou

cursor.execute("""CREATE TABLE""" + nomedatabela + """(x integer, y integer)""")

Sempre dá erro de sintaxe em %, ? ou +.

O erro aparece também se eu tento inserir dados em uma tabela existente:

cursor.execute("""INSERT INTO tabela (x) VALUES (?)""", (a))

Onde está o erro?

Valeu!

PS: já pesquisei na documentação do SQLite3 e em muitos tutoriais na net, mas ainda não consegui entender como fazer ou o que eu estou fazendo de errado.

Editado por viniciuspaludo
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Fala, VolneyRock. Valeu pela resposta.

Então, na verdade estou com o Python 3.5 aqui e ele não está reconhecendo raw_input(). A sintaxe correta é input().

Mas depois de sua resposta tive um insight aqui e descobri como o erro era bobo. A sintaxe correta da inserção de variáveis é esta que você apontou mesmo, o problema é que o nome da tabela que eu estava inserindo aqui no código era um domínio, e, quando era inserido no código, ele confundia a leitura, por causa dos pontos do domínio (www.dominio.com.br).

Se eu utilizar o mesmo código, inserindo apenas o nome simples do dominio ("dominio" ao invés de "www.dominio.com.br") ele funciona normalmente.

Valeu!

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...