diff --git a/lib/index.js b/lib/index.js
index <HASH>..<HASH> 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -230,7 +230,17 @@ class Service extends AdapterService {
     return this.db(params)
       .insert(data, returning)
       .then(rows => {
-        const id = data[this.id] !== undefined ? data[this.id] : rows[0];
+        let id
+
+        if (data[this.id] !== undefined) {
+          id = data[this.id]
+        } else if (!returning.length) {
+          id = rows[0]
+        } else if (rows[0] && rows[0][this.id]) {
+          id = rows[0][this.id]
+        }
+
+        if (!id) return rows
 
         return this._get(id, params);
       })
Fix id extraction in id (#<I>)