CakePHP3のORMの「lastInsertId」の失敗時の戻り値について

php
CakePHP3

CakePHP3で、insert文のORMを使うとき、よく以下のような書き方をします。

$query = $this->query()
  ->insert([
    'カラム名1',
    'カラム名2',
    '...'
  ])
  ->values([
    'カラム名1' => '保存する値',
    'カラム名2' => '保存する値',
    '...' => '...',
  ]);
return $query->execute()->lastInsertId();

このとき、lastInsertId()は、DBにレコード追加成功時のプライマリーキー(PK)を返してくれます。
string型で。

しかし失敗したときはfalseを返します。

よくわからなくなるのでメモ。

Nな人
とあるWebアプリケーション開発企業で働くしがないエンジニア見習い。
好き嫌いは激しいが、いろんなことが知りたい。
最近はPHPをメインに書いているが、初めて触った言語はActiveBasicで動くN88BASICという、超古典的言語。
BASICとperlをこよなく愛するP言語エンジニア。
よしなにお願いいたします。