Typeorm: Execute raw query with parameters

Viewed 22954

I'm trying to execute raw query in typeorm with parameters I tried following queries:

insert into data(id, name, gender) values(?, ?,?)
insert into data(id, name, gender) values($1, $2, $3)
insert into data(id, name, gender) values(:id, :name, :gender)

The typeorm code is:

import { getManager } from 'typeorm';
await getManager().query(query, [1, 'test', 'male']);

What is wrong? Is there any other way?

3 Answers

as @ashutosh said, it depends on the driver of your database

For mysql/mysql2 you should use ? as placehoder. For example

manager.query('SELECT id FROM foos WHERE createdAt > ? AND id > ?', [new Date(), 3])

For oracle, you can use something like this for me like this :

const querySingleValue = SELECT * FROM TABLE1 WHERE name in (:param) ;

string value :

getManager().query(querySingleValue,[param]) ;

Related