Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

403
Visualizações
Inserte una sola variable en una tabla en PostgreSQL usando python

Estoy tratando de insertar un solo valor en una tabla de Postgres con dos columnas. La primera columna es una clave principal de aumento automático, mientras que la segunda columna debe ser una variable. Investigué un poco y encontré los siguientes recursos TypeError: no todos los argumentos se convirtieron durante el formato de cadena python , ¿Cómo configurar la clave principal de incremento automático en PostgreSQL? este formato de cadena Psycopg2 con nombres de variables para la creación de tipos .

 import psycopg2 try: conn = psycopg2.connect("dbname=postgres user=postgres password=actuarial") print("database created successfully.") except psycopg2.OperationalError as ex: print("Connection failed: {0}".format(ex)) cur = conn.cursor() def create_client_table(): cur.execute("CREATE TABLE ClientTable (ClientID SERIAL PRIMARY KEY, Name varchar);") print('student table created successfully') create_client_table() def client_add(): name = input("Enter the names of the student:") cur.execute("INSERT INTO CleintTable VALUES (%s)", (name)); cur.execute("SELECT * FROM StudentTable") rows = cur.fetchall() print(rows) client_add() conn.close()

Al ejecutar el código anterior, aparece el siguiente error. Amablemente ayúdame a identificar dónde me estoy equivocando.

 cur.execute("INSERT INTO CleintTable VALUES (%s)", (name)); TypeError: not all arguments converted during string formatting
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Se necesita una coma después del name para convertir esa expresión entre paréntesis en una tupla:

 cur.execute("INSERT INTO CleintTable VALUES (%s)", (name,));

De lo contrario, es una secuencia de cadenas sobre la cual execute el método de ejecución.

over 4 years ago · Santiago Trujillo Relatório

0

Es posible que se deba cambiar "CleintTable" a ClientTable, a menos que intencionalmente haya nombrado la tabla de esta manera. Solo algo que noté al leer tu código, aparte de lo que estabas buscando.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda