diff --git a/src/query/insert.rs b/src/query/insert.rs index 24d52e0f..71471268 100644 --- a/src/query/insert.rs +++ b/src/query/insert.rs @@ -45,12 +45,13 @@ where let columns_empty = self.columns.is_empty(); for (idx, col) in ::Column::iter().enumerate() { let av = am.take(col); + let av_has_val = av.is_set() || av.is_unchanged(); if columns_empty { - self.columns.push(av.is_set()); - } else if self.columns[idx] != av.is_set() { + self.columns.push(av_has_val); + } else if self.columns[idx] != av_has_val { panic!("columns mismatch"); } - if av.is_set() || av.is_unchanged() { + if av_has_val { columns.push(col); values.push(av.into_value()); }