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

Použití náhrad s nezpracovaným dotazem Sequelize:vyhnout se jednoduchým uvozovkám?

Pokud jste si jisti, že datasetName nebude nikdy obsahovat žádnou možnost injekcí SQL, můžete název tabulky vložit přímo do dotazu, např.:

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})

Komentář zaslaný mwarrenem v tomto případě opravdu nefunguje - Sequelize vidí, že jde o vkládaný řetězec, a podle toho jej uniká.



  1. Python postgreSQL sqlalchemy dotazuje sloupec DATERANGE

  2. T-SQL:Výběr sloupce na základě MAX (jiný sloupec)

  3. Problém s přetrváváním java.util.Date do MySql pomocí Hibernate

  4. Spojte tabulky ve dvou databázích pomocí SQLAlchemy