insert(arel, name = nil, pk = nil, id_value = nil, sequence_name = nil, binds = [])
public
Executes an INSERT query
and returns the new
record’s ID
id_value will be returned unless the value is nil, in
which case the database will attempt to calculate the last inserted id and
return that value.
If the next id was calculated in advance (as in Oracle), it should be
passed in as id_value.
Show source
def insert(arel, name = nil, pk = nil, id_value = nil, sequence_name = nil, binds = [])
sql, binds = to_sql_and_binds(arel, binds)
value = exec_insert(sql, name, binds, pk, sequence_name)
id_value || last_inserted_id(value)
end