From: Eric Christopherson Date: 2013-03-01T09:25:46+09:00 Subject: Re: How to translate the following sqlite3 insert statement into equivalent mysql insert statement On Thu, Feb 28, 2013 at 6:08 PM, Yu W. wrote: > sqlite3 insert statement: > db.execute "INSERT INTO events(#{keys.join(',')}) VALUES (#{(['?'] * > keys.size).join(',')})", *values > > I'm very confused about this part: > (#{(['?'] * keys.size).join(',')})", *values It's basically creating a string with a certain number of question marks, and then supplying values at the end to be substituted for those question marks. E.g. if keys is ['foo' 'bar' 'baz'] and values is [123, 456, 789], it will generate the command (with placeholders) 'INSERT INTO events(foo, bar, baz) VALUES (?, ?, ?)'; db.execute then plugs in 123, 456, and 789 into the question mark slots. > > how can I write a mysql insert statement that functions the same? Have you tried it in MySQL? It looks like it should work just the same in pretty much any SQL engine.