Reputation: 598
Im not able to use bulk insert in my DB using node.js lib mysljs.
I followed answers from:
How do I do a bulk insert in mySQL using node.js
with no success.
var sql = "INSERT INTO resources (resource_container_id, name, title, extension, mime_type, size) VALUES ?";
var values = [
[1, 'pic1', 'title1', '.png', 'image/png', 500],
[1, 'pic2', 'title2', '.png', 'image/png', 700]];
return connection.query(sql, [values], (result) => {
if (err) throw err;
connection.end();
});
I keep getting error:
'You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near \'?\' at line 1'
I also tried to promisify the query mehod using bluebird but with no success, I get same error again.
Upvotes: 14
Views: 1628
Reputation: 541
I have the same issue only when i use connection.execute()
and then it's actually because it is not implemented for prepared statements.
I resolved the issue by using connection.query()
instead.
Don't know if that answer helps anyone tho.
It would help me when I was searching for the answer.
Upvotes: 1
Reputation: 141
try using () around the question mark
var sql = "INSERT INTO resources (resource_container_id, name, title, extension, mime_type, size) VALUES (?) ";
Upvotes: 1
Reputation: 2578
You need to mark your keys with the grave accent (backtick) character, like this: `key`
Making your query
like this:
var sql = "INSERT INTO resources (`resource_container_id`, `name`, `title`, `extension`, `mime_type`, `size`) VALUES ?";
Upvotes: 1