Se pueden controlar estos errores de mysql? (Python)

Iniciado por Panic0, 27 Julio 2021, 02:11 AM

0 Miembros y 1 Visitante están viendo este tema.

Panic0

Hola, estaba tratando de contralar los errores de las querys echas con python, vi que se usa la excepción de error "mysql.connector.errors.ProgrammingError" para todo. Pero yo quiero controlar si una tabla es eliminada o no existe.

Para eso lanza este tipo de error
mysql.connector.errors.ProgrammingError 1054 (42S22): Unknown column 'cod_test in 'where clause'

Hay forma de controlar ese error en especifico?
Porque cuando voy a usar mysql.connector.errors.ProgrammingError en un try, este controla todos los errores. Como por ejemplo si un valor no esta en una tabla.

No se si me explique correctamente.

Aquí dejo este código
import mysql.connector

user     = ""
password = ""
host     = ""
db       = ""

mi_database = mysql.connector.connect(user=user,
                                      password=password,
                                      host=host,
                                    database=db)
puntero = mi_database.cursor()



def run_query(query):
    puntero.execute(query)
    consulta = puntero.fetchall()
    return consulta


if __name__ == "__main__":
    test = run_query("select * from paises2")
    for i in test:
        print(i)


Gracias!
Los ataques de pánico suelen comenzar de forma súbita, sin advertencia.

srWhiteSkull

Dependerá de la versión de Python, pero podrías coger el mensaje y por medio switches escoger la acción de acuerdo al mensaje

Danielㅤ

Hola, o tal vez por códigos/numeros de error manejarlo así.


Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!

Panic0

Cita de: Danielㅤ en 28 Julio 2021, 01:09 AM
Hola, o tal vez por códigos/numeros de error manejarlo así.


Saludos

Hola, probé así pero no funciono


Pero muchas gracias por comentar!!
Los ataques de pánico suelen comenzar de forma súbita, sin advertencia.