
Table::insert는 데이터베이스에 새로운 레코드를 삽입할 때, Primary Key가 이미 존재하는 경우 에러를 발생시킵니다.
이러한 에러를 처리하기 위해서는 try-catch 블록을 사용하여 예외를 잡을 수 있습니다. 예를 들어, MySQL의 경우 다음과 같이 작성할 수 있습니다.
#hostingforum.kr
php
try {
$db->insert('테이블명', array('컬럼1' => '값1', '컬럼2' => '값2'));
} catch (Exception $e) {
if ($e->getCode() == 1062) { // Primary Key가 이미 존재하는 경우의 에러 코드
echo "Primary Key가 이미 존재합니다.";
} else {
echo "다른 에러가 발생했습니다.";
}
}
또는, insert 전에 Primary Key가 이미 존재하는지 확인할 수 있습니다.
#hostingforum.kr
php
$result = $db->select('테이블명', array('컬럼1' => '값1'));
if ($result) {
echo "Primary Key가 이미 존재합니다.";
} else {
$db->insert('테이블명', array('컬럼1' => '값1', '컬럼2' => '값2'));
}
이러한 방법으로 Primary Key가 이미 존재하는 경우 에러를 처리할 수 있습니다.
2025-04-22 07:44