title: How to add multiple rows using "Insert ... ON DUPLICATE KEY UPDATE" using knex
body: <p>so I've been playing around with knex lately, however I found myself on a situation where I don't know what to do anymore.</p>
  
  <p>so I have this query:</p>
  
  <pre><code>knex.raw("INSERT INTO tablename (`col1`, `col2`, `col3`) VALUES (?, ?, ?) 
  ON DUPLICATE KEY UPDATE col2 = VALUES(`col2`)", 
  [
      ['val1', 'hello', 'world'],
      ['val2', 'ohayo', 'minasan'],
  ]);
  </code></pre>
  
  <p>And for some reasons It throws me an error <code>Expected 2 bindings, saw 3</code>.</p>
  
  <p>I tried making it: </p>
  
  <pre><code>knex.raw("INSERT INTO tablename (`col1`, `col2`, `col3`) VALUES (?, ?, ?) 
  ON DUPLICATE KEY UPDATE col2 = VALUES(`col2`)", 
      ['val1', 'hello', 'world'],
      ['val2', 'ohayo', 'minasan'],
  );
  </code></pre>
  
  <p>No error this time, but it only inserts the first array.</p>
  
  <p>I also tried making the values an object:</p>
  
  <pre><code>[
      {col1: 'val1', col2: 'hello', col3: 'world'},
      {col1: 'val2', col2: 'ohayo', col3: 'minasan'},
  ]
  </code></pre>
  
  <p>But still no luck. </p>