実現したいこと
MySQLのテーブルに登録時に、既に登録されているプライマリキーの場合、上書きされないようにしたい。
前提
CakePHP4.4.15
Amazon Linux2
Apache
Amaon RDS (MySQL community8.0.33)
以上の環境でWEBアプリを稼働させようとしています。
発生している問題・エラーメッセージ
Customersというテーブルを作成し、
プライマリキーにidというカラムを指定。
id 1000000001
が既にDBに存在する場合に、
newEmptyEntityを使用したcustomerエンティティーに、
同じID1000000001
を入れてsaveすると、
後から入力した情報で上書きされてしまう。
これが正しい動きなんでしょうか。
プライマリキー違反でエラーになって欲しいんですが。
該当のソースコード
$customer = $this->Customers->newEmptyEntity();
$customer->id = '1000000001';
&customer->name = 'bbb';
$customer->isNew(); // この時点でtrue
$this->Customers->save(&customer);
