안녕하세요. 쿼리중 해결하지 못한 문제가 발생되어서 검색해도 글이 없길래 문의드려요.
쿼리문장을 날려서 쿼리를 시켰는데 mysql 에서 에러를 내고 끝나버렸습니다.
그래서 쿼리문장을 재시도해보니 같은키가 있어서 insert 에 실패했더군요.
(MySQL 메시지: #1062 - 중복된 입력 값 'sample33': key 'PRIMARY' )
코드는 다음과같이 실행했습니다.
...
$result=$this->db->query($strInsert); <= 여기를 수행하고 나면 결과없이 그냥 속에서 죽어버립니다.
... <== 이후로 아무것도 처리를 못하고 있어요. $result 결과를 보고 처리해야하는데..아에 넘어오지를 않아요.
(메뉴얼상에서는 true,false가 나온다고하는데요. 안쪽에서 죽어버리니 아무짓도 못하고있습니다. )
( 우분투16,CI=3.1,PHP7을 사용중입니다.)
db설정은 이렇게 설정했습니다.
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'sagood',
'password' => 'sagood',
'database' => 'sagooddb',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
- true,false 가 나오면좋을것같고요, 기타 try catch 처리가 되어도 좋겠습니다. 둘다 실패중이라 이걸 어찌처리해야나 고민에 빠져있습니다. 도움말좀주십시요. (__
db_debug = false 로 하시면 됩니다.
근본적으로 primary key가 중복되지 않도록 방어 로직을 집어 넣는것이 좋습니다.
한대승님/ 고마워요. 덕분에 잘 해결되었습니다.
엽토님/특별한 이유없어요. 그냥 제가 편하게 쓰는것뿐이에요. 다른 (C++)템플리트에서 쓰는 쿼리방법과 유사해서 그냥 익숙한방법을 쓰고있는것 뿐이에요.