返回 -.returning(column) / .returning([column1, column2, ...])
返回方法由PostgreSQL,MSSQL和Oracle数据库使用,它指定insert和update方法应返回哪一列。传递的列参数可以是字符串或字符串数组。当传递字符串时,使SQL结果报告为指定列中值的数组。当传入字符串数组时,使SQL结果作为对象数组报告,每个对象包含每个指定列的单个属性。Amazon Redshift不支持返回方法。
// Returns [1]
knex('books')
.returning('id')
.insert({title: 'Slaughterhouse Five'})
输出:
insert into `books` (`title`) values ('Slaughterhouse Five')
// Returns [2] in "mysql", "sqlite"; [2, 3] in "postgresql"
knex('books')
.returning('id')
.insert([{title: 'Great Gatsby'}, {title: 'Fahrenheit 451'}])
输出:
insert into `books` (`title`) values ('Great Gatsby'), ('Fahrenheit 451')
// Returns [ { id: 1, title: 'Slaughterhouse Five' } ]
knex('books')
.returning(['id','title'])
.insert({title: 'Slaughterhouse Five'})
输出:
insert into `books` (`title`) values ('Slaughterhouse Five')