
TableInsert::values()에서 'onConflict' 옵션을 사용할 때, 'update' 모드에서 'values'를 사용할 수 없습니다.
이유는 'update' 모드에서 'values'를 사용하면 데이터베이스가 기존의 값을 업데이트하는 대신에 새로운 값을 삽입하려고 시도합니다.
따라서 'update' 모드에서 'values'를 사용하기 위해서는 'set' 옵션을 사용해야 합니다.
예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
$table->insert('users', [
'name' => 'John Doe',
'email' => 'john@example.com',
])->onConflict('email')->set('name' => 'Jane Doe');
이 코드는 'users' 테이블에 'John Doe'라는 이름과 'john@example.com'이라는 이메일 주소를 삽입하고, 이메일 주소가 이미 존재하는 경우 'name'을 'Jane Doe'로 업데이트합니다.
2025-05-18 23:18