sql >> Database teknologi >  >> RDS >> Mysql

Python MySQL escape specialtegn

Dette er en af ​​grundene til, at du skal bruge parameterbinding i stedet for at formatere parametrene i Python.

Bare gør dette:

sql = 'UPGRADE inventory_server set server_mac = %s where server_name = %s'

Så:

cur.execute(sql, macs, host)

På den måde kan du bare håndtere strengen som en streng og lade MySQL-biblioteket finde ud af, hvordan man citerer og undslipper den for dig.

Oven i det får du generelt bedre ydeevne (fordi MySQL kan kompilere og cache én forespørgsel og genbruge den til forskellige parameterværdier) og undgå SQL-injektionsangreb (en af ​​de mest almindelige måder at blive hacket på).



  1. Gruppér efter datointerval efter uger/måneders interval

  2. OPDATERING med BESTIL AF

  3. Fejl 1033 modtog log på standby

  4. Hvordan synkroniseres Mysql DB igen, hvis Master og slave har forskellige databaser i tilfælde af Mysql-replikering?