sql >> Databáze >  >> RDS >> Mysql

Selhalo zpracování parametrů formátu pomocí mysql.connector v Pythonu

První možností je správný způsob vložení parametrů dotazu do dotazu – nazývá se parametrizovaný dotaz . V tomto případě necháte ovladač databáze uniknout parametrům dotazu, bezpečně je vložit do dotazu a zpracovat převody typu Python do MySQL.

Chyba, kterou dostáváte, znamená, že nebylo možné převést jedno z ID , Record , Latitude , Longitude nebo code hodnoty parametrů na platný typ databáze MySQL. Chcete-li být konkrétní, podívejte se na typy proměnných, které jste zveřejnili:

ID        <type 'unicode'> 
Record    <type 'unicode'>
Latitude  <class 'bs4.element.NavigableString'>
Longitude <class 'bs4.element.NavigableString'>
code      <type 'unicode'>

Problém je s Latitude a Longitude - jsou to BeautifulSoup NavigableString instance třídy – konvertor MySQL má potíže s pochopením toho, jak převést NavigableString objekt do platného typu MySQL. Převeďte je na řetězce explicitně předem:

update = """
    INSERT INTO 
        myDB.newtable 
        (ID,Record,Latitude,Longitude,code) 
    VALUES 
        (%s,%s,%s,%s,%s)
"""
cursor2.execute(update, (ID, Record, str(Latitude), str(Longitude), code))



  1. TO_CHAR(datetime) Funkce v Oracle

  2. Nedefinovaný symbol chyby při spouštění PHP 7.0 a MySQL:mysqlnd_allocator in Unknown

  3. Aktualizace více sloupců tabulky MySQL pomocí polí s PDO

  4. PHP MySQLi multi_query připravený příkaz