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

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

Ако сте сигурни, че datasetName никога няма да съдържа никаква възможност за SQL инжекции, можете директно да вмъкнете името на таблицата в заявката, така:

sequelize
   .query("LOAD DATA LOCAL INFILE :file
           INTO TABLE dataset_" + datasetName + "
           FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n';",
          null,
          {raw:true}, {file: datasetPath})

Коментарът, публикуван от mwarren, всъщност не работи в този случай - Sequelize вижда, че това е низ, който се вмъква, и съответно го избягва.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql сравнява поле, разделено със запетая, с единичен низ

  2. обратен mysql_real_escape_string

  3. Може ли MySQL INT тип да бъде различен от нула NULL

  4. Логика на разликата в датата в LINQ

  5. Времеви диапазон на заявка между датите с помощта на DATETIME mysql