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.
Pergunta
viniciuspaludo
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 viniciuspaludoLink para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
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.