diff --git a/core/lib/Drupal/Core/Database/Query/Insert.php b/core/lib/Drupal/Core/Database/Query/Insert.php
index 045413a..4f1d4dd 100644
--- a/core/lib/Drupal/Core/Database/Query/Insert.php
+++ b/core/lib/Drupal/Core/Database/Query/Insert.php
@@ -14,7 +14,7 @@
  *
  * @ingroup database
  */
-class Insert extends Query {
+class Insert extends Query implements \Countable {
 
   use InsertTrait;
 
diff --git a/core/lib/Drupal/Core/Database/Query/InsertTrait.php b/core/lib/Drupal/Core/Database/Query/InsertTrait.php
index 551e870..a8bab75 100644
--- a/core/lib/Drupal/Core/Database/Query/InsertTrait.php
+++ b/core/lib/Drupal/Core/Database/Query/InsertTrait.php
@@ -181,4 +181,11 @@ protected function getInsertPlaceholderFragment(array $nested_insert_values, arr
     return $values;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function count() {
+    return count($this->insertValues);
+  }
+
 }
diff --git a/core/lib/Drupal/Core/Database/Query/Upsert.php b/core/lib/Drupal/Core/Database/Query/Upsert.php
index e9b5d0e..ca58c11 100644
--- a/core/lib/Drupal/Core/Database/Query/Upsert.php
+++ b/core/lib/Drupal/Core/Database/Query/Upsert.php
@@ -18,7 +18,7 @@
  * Insert except the rows will be set to the desired values even if the key
  * existed before.
  */
-abstract class Upsert extends Query {
+abstract class Upsert extends Query implements \Countable {
 
   use InsertTrait;
 
