Mysql
 sql >> база данни >  >> RDS >> Mysql

Има ли някакъв безопасен начин за параметризиране на имена на база данни в MySQL заявки?

Името на база данни (нито имената на колони или таблици) не са стойности на данни и следователно не са подходящо използване на заместители. желанието да направите това обикновено е лош знак; само DBA трябва да може да издава create database , тъй като това изисква някои значителни привилегии. Повечето приложения изискват DBA да издаде създадената база данни и след това да приеме създадената база данни като параметър, който да се използва в аргументите на dbapi.Connection.

Ако сте сигурни, че имате нужда от това, имате доверие на източника на входа и сте проверили входа за невалидни знаци, просто бихте направили заместването в python, нещо като:

def createDB(dbConn, dbName):
    c = dbConn.cursor()
    query = """CREATE DATABASE %s;""" % dbName
    c.execute(query)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Синтактична грешка или нарушение на достъпа:1059 Името на идентификатора е твърде дълго

  2. ОБЕМНО ВМЕСВАНЕ в MYSQL

  3. qt5.1.1 mysql ubuntu QMYSQL драйверът не е зареден

  4. 24 часа стойности

  5. Пивотни таблици в MySQL